EM9280是英創(chuàng)公司即將推出的新型工控主板產(chǎn)品。EM9280作為第一款板載8個(gè)獨(dú)立的異步串口(UART),而有別于公司的其他主板產(chǎn)品。8個(gè)串口的配置,可滿足在絕大多數(shù)應(yīng)用場(chǎng)合的需求,從而幫助客戶進(jìn)一步降低整機(jī)成本,加快產(chǎn)品的入市時(shí)間。本文主要是介紹EM9280各個(gè)串口的應(yīng)用特色。
在Window CE6.0系統(tǒng)中EM9280的8個(gè)串口分別命名為“COM2:”-“COM9:”,其基本特性如下表所示:
EM9280串口 | 物理接口 | 簡(jiǎn)要說明 |
“COM2:” | RTS/CTS流控 | 作為GPRS模塊接口,RTS/CTS與GPIO復(fù)用 |
“COM3:” | RX/TX三線制 | 獨(dú)立串口,缺省配置為RS232電平 |
“COM4:” | RX/TX三線制 | 獨(dú)立串口,最高波特率可達(dá)3Mbps |
“COM5:” | RX/TX三線制 | 獨(dú)立串口,最高波特率可達(dá)3Mbps |
“COM6:” | RX/TX三線制 | 與GPIO10–GPIO11復(fù)用管腳 |
“COM7:” | RX/TX三線制 |
獨(dú)立低速串口,適合作RS485, 推薦波特率 1200bps–19200bps |
“COM8:” | RX/TX三線制 | |
“COM9:” | RX/TX三線制 |
在標(biāo)準(zhǔn)的EM9280中,只有COM3的接口是RS232電平(±9V),其他的都是3.3V的TTL電平信號(hào),在無數(shù)據(jù)收發(fā)時(shí)均為高電平。EM9280為了突出串口的應(yīng)用,大部分串口都采用獨(dú)立管腳引出,這樣同時(shí)還可提高其GPIO的利用率。在8個(gè)串口中,COM2–COM6為iMX283芯片內(nèi)部的串口單元,由于DMA的支持,因此可實(shí)現(xiàn)高達(dá)3Mbps的波特率。在使用高波特率時(shí),需注意接口驅(qū)動(dòng)芯片的速度及傳輸距離的影響。
COM7–COM9則屬于低速串口,盡管最高波特率可達(dá)57600bps,但推薦使用的波特率為1200bps–19200bps。由此可見COM7–COM9特別適合作為RS485來使用。在EM9280的評(píng)估底板中,COM7 – COM9都配置成RS485接口,以方便用戶評(píng)估。
在RS485的應(yīng)用中,用戶還可以設(shè)置某一位GPIO作為硬件RTS方向控制,具體編程方法如下:
1. 設(shè)置DCB參數(shù)塊中的fRtsControl為RTS_CONTROL_TOGGLE。
DCB SerDCB;
SerDCB.DCBlength = sizeof( DCB );
GetCommState( m_hSer, &SerDCB ); // 讀取當(dāng)前DCB
SerDCB.fRtsControl = RTS_CONTROL_TOGGLE;
SetCommState( m_hSer, &SerDCB ); // 再設(shè)置回串口驅(qū)動(dòng)
2. 通過DeviceIoControl來指定具體作為RTS的GPIO管腳。以GPIO24為例:
#include “bsp_drivers.h”
DWORD dwRTSPin = GPIO24;
bRet = DeviceIoControl(m_hSer, // file handle to the driver
IOCTL_SET_UART_RTS_PIN, // I/O control code
&dwRTSPin, // in buffer
sizeof(DWORD), // in buffer size
NULL, // out buffer
0, // out buffer size
NULL, // pointer to number of bytes returned
NULL); // ignored (=NULL)
可用作硬件RTS方向控制的GPIO管腳有:GPIO6–GPIO7;GPIO20–GPIO31。若應(yīng)用程序選擇其他GPIO作為RTS,設(shè)置函數(shù)將返回FALSE。
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6084瀏覽量
35162
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論