EM9280是英创公司推出的一款以多串口为特色的嵌入式工控主板,预装正版WinCE6.0/Linux-3.9.7操作系统,直接支持彩色TFT LCD显示和4线电阻触摸屏,最高分辨率可达1024*768。支持多达32位可独立操作的GPIO。EM9280以丰富的资源、极高的性价比,一经推出就受到了市场的肯定,现在已经批量出货。
WinCE和Linux都是主流的实时嵌入式操作系统之一,但由于操作系统任务调度机制所限,很难满足高速实时控制应用的需求。EM9380 则是针对高速实时控制的应用特点,在EM9280的基础上,巧妙融入一片高性能 MCU (Cortex-M3)专门实现实时控制任务,EM9380以双CPU方式(以454MHz ARM9为主CPU,64M Cortex-M3作为协CPU),为客户提供了一种高效低成本的实时控制应用解决方案。
EM9380与EM9280的引出管脚高度兼容,下面通过两个表格直观的对比EM9280与EM9380的管脚引出情况。下面两表中,除红色字体外,其余引脚的信号定义,EM9280与EM9380完全一样。
EM9380 CN1信号定义:
信号名称及简要描述 | CN1 | 信号名称及简要描述 | |
PIN# | PIN# | ||
LINK#,Eth0连接/传送指示 | 1 | 2 | SPEED#,Eth0速度指示 |
TPTX+,以太网差分输出 | 3 | 4 | TPTX-,以太网差分输出 |
TPRX+,以太网差分输入 | 5 | 6 | TPRX-,以太网差分输入 |
VDD_CMT1,网络变压器公共端 | 7 | 8 | 系统保留 |
ttyS6_RXD(COM7) | 9 | 10 | ttyS6_TXD(COM7) |
ttyS7_RXD(COM8) | 11 | 12 | ttyS7_TXD(COM8) |
ttyS8_RXD(COM9) | 13 | 14 | ttyS8_TXD(COM9) |
USB1_HD+,USB1 Host信号 | 15 | 16 | USB1_HD-,USB1 Host信号 |
USB2_HD+,USB2 Host信号 | 17 | 18 | USB2_HD-,USB2 Host信号 |
COM2_RXD | 19 | 20 | COM2_TXD |
COM3_RXD,232电平 | 21 | 22 | COM3_TXD,232电平 |
COM4_RXD | 23 | 24 | COM4_TXD,232电平 |
COM5_RXD | 25 | 26 | COM5_TXD(DBGSL#) |
GPIO0 / MCU_T0_IOA | 27 | 28 | GPIO1 / MCU_T0_IOB |
GPIO2 / MCU_T0_CLK | 29 | 30 | GPIO3 / MCU_T1_IOA |
GPIO4 / MCU_PWM3 | 31 | 32 | GPIO5 / MCU_PWM4 |
GPIO6 / MCU_PWM5 | 33 | 34 | GPIO7 / MCU_PWM6 |
GPIO8 / MCU_AD0 | 35 | 36 | GPIO9 / MCU_AD1 |
EM9280 CN1的第16、17脚信号定义为:
AIN1,0~3V量程 | 17 | 18 | AIN2,0~3V量程 |
EM9380 CN2信号定义:
信号名称及简要描述 | CN1 | 信号名称及简要描述 | |
PIN# | PIN# | ||
+5V电源输入 | 1 | 2 | +5V电源输入 |
USB_OTG_VBUS | 3 | 4 | RSTIN#,外部复位输入 |
电源地(GND) | 5 | 6 | 电源地(GND) |
USB_OTG_D+ | 7 | 8 | USB_OTG_D- |
USB_OTG_UID | 9 | 10 | BATT3V,3.3V电池输入 |
DBG_COM_RX,232电平 | 11 | 12 | DBG_COM_TX,232电平 |
USB3_HD+,USB3 Host信号 | 13 | 14 | USB3_HD-,USB3 Host信号 |
GPIO10 / MCU_AD2 | 15 | 16 | GPIO11 / MCU_AD3 |
GPIO12 / MCU_AD4 | 17 | 18 | GPIO13 / MCU_AD5 |
GPIO14 / MCU_AD6 | 19 | 20 | GPIO15 / MCU_AD7 |
GPIO16 / COM2_CTS# | 21 | 22 | GPIO17 / COM2_RTS# |
GPIO18 / COM6_RXD | 23 | 24 | GPIO19 / COM6_TXD |
GPIO20 / PWM1 | 25 | 26 | GPIO21 / PWM2 |
GPIO22 / I2C_SDA | 27 | 28 | GPIO23 / I2C_SCL |
GPIO24 / IRQ1 | 29 | 30 | GPIO25 / IRQ2 |
GPIO26 / IRQ3 | 31 | 32 | GPIO27 / IRQ4 |
GPIO28 / SPI_MISO | 33 | 34 | GPIO29 / SPI_MOSI |
GPIO30 / SPI_SCLK | 35 | 36 | GPIO31 / SPI_CS0N |
EM9280 CN2的第13、14脚信号定义为:
RSTOUT#,复位输出 | 13 | 14 | DBGSL#,调试模式选择输入 |
从上面两表可以看到EM9380与EM9280仅有4个引脚功能定义不一样,用户可以从EM9280和EM9380的数据手册进一步查看CN1和CN2的详细说明。细心的用户也许会发现一个问题,在EM9380的CN1,CN2定义中,没有专门的DBGSL#引脚,为了最大限度的利用EM9380有限的管脚资源,EM9380的DBGSL#信号与COM5_TXD是复用的,用户可以在EM9380的COM5_TXD上接一个5K的下拉电阻让EM9380进入调试模式。具体可参考《EM9380工控主板数据手册》和EM9380评估底板原理图。
如果只考虑常规的GPIO功能,EM9380与EM9280的GPIO对应管脚完全一致,但它们各自的GPIO复用功能就有着较大的差别。下表是EM9280与EM9380的32位GPIO以及各自复用功能的对比。
PIN# | 信号名称 | EM9280复用功能 | EM9380复用功能 |
CN1_27 | GPIO0 | COM2口CTS# | 复用定时器功能 |
CN1_28 | GPIO1 | COM2口RTS# | 复用定时器功能 |
CN1_29 | GPIO2 | 复用定时器功能 | |
CN1_30 | GPIO3 | 复用定时器功能 | |
CN1_31 | GPIO4 | PWM3 | |
CN1_32 | GPIO5 | PWM4 | |
CN1_33 | GPIO6 | PWM1 | PWM5 |
CN1_34 | GPIO7 | PWM2 | PWM6 |
CN1_35 | GPIO8 | AD0通道输入 | |
CN1_36 | GPIO9 | AD1通道输入 | |
CN2_15 | GPIO10 | COM6口RXD | AD2通道输入 |
CN2_16 | GPIO11 | COM6口TXD | AD3通道输入 |
CN2_17 | GPIO12 | AD4通道输入 | |
CN2_18 | GPIO13 | AD5通道输入 | |
CN2_19 | GPIO14 | AD6通道输入 | |
CN2_20 | GPIO15 | AD7通道输入 | |
CN2_21 | GPIO16 | COM2口CTS# | |
CN2_22 | GPIO17 | COM2口RTS# | |
CN2_23 | GPIO18 | COM6口RXD | |
CN2_24 | GPIO19 | COM6口TXD | |
CN2_25 | GPIO20 | PWM3 | PWM1 |
CN2_26 | GPIO21 | PWM4 | PWM2 |
CN2_27 | GPIO22 | I2C_SDA | I2C_SDA |
CN2_28 | GPIO23 | I2C_SCL | I2C_SCL |
CN2_29 | GPIO24 | IRQ1 | IRQ1 |
CN2_30 | GPIO25 | IRQ2 | IRQ2 |
CN2_31 | GPIO26 | IRQ3 | IRQ3 |
CN2_32 | GPIO27 | IRQ4 | IRQ4 |
CN2_33 | GPIO28 | SPI_MISO | SPI_MISO |
CN2_34 | GPIO29 | SPI_MOSI | SPI_MOSI |
CN2_35 | GPIO30 | SPI_SCLK | SPI_SCLK |
CN2_36 | GPIO31 | SPI_CS0N | SPI_CS0N |
EM9380的GPIO0~GPIO15是支持实时控制应用的引脚,可实现高速AD、高精度PWM、数字PID、脉冲计数等高速实时控制。典型的实时控制周期可达25us。
EM9280没有复用功能的GPIO是通过I2C总线扩展的,所以操作速度相对有复用功能的GPIO(有复用功能的GPIO直接从CPU引出)要慢一些,适合作常规的开关应用。如果对速度有一定的要求,如设置作为串口的流控信号或通过GPIO模拟SPI/I2C总线等,建议选用从CPU直接引出的GPIO。
EM9380与EM9280的GPIO20~GPIO31功能完全一样。
在应用程序的设计上,EM9380除支持实时应用的GPIO0~GPIO15外,其余的与EM9280完全一样。我们封装了一组专门的API函数MCU_GPIO_XXX()用来操作EM9380的GPIO0~GPIO15,其复用的实时控制功能也提供了相应的API函数,具体可参考《EM9380工控主板实时控制应用说明》。
全部0条评论
快来发表一下你的评论吧 !