原帖由
小鸟愤怒
发自:dev.eefocus.com
------------------------------------------------------------------------------------------------------------------------------------------
在开源硬件领域Arduino无疑是王者,很多后来者都把它当做一个事实上的标准,chipKit也不例外。chipKit Uno32设计的时候就以Arduino 为目标,希望尽可能的靠近,能够完全兼容Arduino Uno。我们来看看它们之间的异同点。
名称 | Arduino Uno | chipKIT Uno32 | 微处理器 | ATmega328 | PIC32MX320F128H | 数据位宽 | 8 | 32 | 最大工作频率 | 16MHz | 80MHz | 物理尺寸 | 2.7 x 2.1 inches | 2.7 x 2.1 inches | 软件开发环境 | Arduino IDE | MPIDE | 工作电压 | 5V | 3.3V | 输入电压 | 7V-12V | 7V-15V | 存储器 | FLASH | 32KB | 128KB | SRAM | 2KB | 16KB | EEPROM | 1KB | No | 输入/输出接口 | 数字IO | 14 | 43(其中D43连接到板上LED做输出) | PWM输出 | 6(与数字IO复用) | 5(与数字IO复用) | 模拟输入 | 6(10位分辨率) | 12(10位分辨率,与数字IO复用) | 中断输入 | 2(与数字IO复用) | 5(与数字IO复用) | USB接口 | B型接口,ATmega8U2芯片控制 | mini-B型接口,FT232R控制 | 通信接口 | I2C | 1 | 2 | SPI | 1 | 2 | UART | 1路与ATmega8U2相连 | 2路,其中一路与FT232R相连 | DC current | 40mA/pin | 18mA/pin | 下载方式 | USB口在线编程;ICSP编程 | USB口在线编程;ICSP编程 |
chipKit Uno32经过很多努力希望能兼容Arduino Uno,这样Arduino的应用能很平滑的过渡到chipKit上。它们之间还是有一些细小的差别:
1. 尽管PIC32处理器工作电压3.3V,chipKit的大部分IO脚能承受5V电平,只有模拟IO脚只能3.3V电平。
2. chipKit Uno32的PWM输出只有5路(PWM0-4),而Arduino Uno的PWM有6路,缺少在D11脚的PWM5。
3. ATmega328P 能在任何一个引脚产生中断,而 PIC32MX320F128H 只能在特定的pin脚。
4.chipKit Uno32上通过一些跳线器控制管脚功能的复用。如跳线JP6/JP8控制I2C信号、JP5/JP7控制SPI主从模式等。
5. 模拟输入比较器的管脚不同。
6. 外部中断数不同,Uno32有5个,Arduino Uno只有2个。
7. Uno32有12个模拟输入脚(A0-A11),而Arduino Uno只有6个(A0-A5)。
8. chipKit Uno32和Arduino Uno一样都有一个用户LED灯在第13脚(pin13)。但是chipKit Uno32还有一个用户可以控制的LED在第43脚,这是一个固定的引脚,只能控制LED不能做其他事。
9. Arduino Uno上的LED是直接连到MCU的管脚,而chipKit Uno32不同的是它的管脚没有直接连到LED,而是连到一个三极管的控制端在控制LED。其中一个原因是PIC32的驱动电流比AVR的要小,同时还有有一个好处降低了13脚的负载,如果13脚用于其他逻辑功能更快反应,开关速度更快。
|