EM335x是基于Cortex-A8的高性價比嵌入式主板產品線,包括已推出的EM335x、EM3352,以及即將推出的EM3354、EM3356等(本文后續統稱EM335x)。EM335x可通過它的精簡ISA總線,連接英創的多串口擴展模塊ETA503或ETA508,方便的實現EM335x的多串口擴展。本文主要介紹EM335x多串口擴展的相關技術事宜。
精簡ISA總線接口
EM335x評估底板(EM335x-EVB)的CN2為精簡ISA總線接口,其接口信號與GPIO12 – GPIO23復用管腳。對串口擴展模塊來說使用的具體管腳信號如下表所示:
ISA_SD[0..7]為地址數據時分復用的雙向總線信號,與控制信號ISA_CS#、ISA_ADV#、ISA_RD#和ISA_WE#配合,實現總線數據的讀入和寫出。具體的總線時序請參考EM335x數據手冊。ISA_IRQ為多串口擴展模塊的共享中斷請求輸入,必須由EM335x主板的GPIO24充當。ISA信號以#為后綴的信號,表示低電平有效。
多串口擴展模塊ETA503 / ETA508
ETA503為4串口擴展模塊,ETA508為8串口擴展模塊。ETA503擴展的4路串口均為9線制標準UART串口,而ETA508擴展的8路串口則為3線制串口。兩種模塊的信號電平均為+3.3V LVTTL電平。有關這種模塊詳細的技術說明請參考它們的數據手冊。兩種模塊均通過其CN1插座與EM335x的精簡ISA總線相連,具體信號說明如下:
由于ETA508都是從英創EM9X60產品線發展起來的,為了兼容兩種產品線,ISA_SD4 – ISA_SD7這4條數據線在CN1中被重復放置了兩次,在設計接口電路時,上述所列的信號均不能少。另ETA508模塊的電源和地線是通過模塊的CN2接口引入的。
注意:
(1)ETA503的CN1的布局方向與ETA508是不同的!為了方便客戶PCB的設計,英創工程師專門制作了ETA503/ETA508兼容的PCB器件庫,需要的客戶可來郵件索取。
(2)EM335x的所有ISA接口信號均為3.3V LVTTL電平,且不是+5V兼容的,因此禁止把5V信號或電源接到ISA信號管腳上,否則會造成EM335x主板的損壞!
(3)由于ISA總線的速度較高,ETA503 / ETA508在PCB中的布局應盡可能靠近EM335x總線接口所在位置,即CN2,以保證總線信號的完整性。
應用程序對擴展串口的操作
無論是在Linux平臺,還是在WinCE平臺,應用程序對擴展串口的操作,都是通過打開其對應的設備驅動文件來實現的,其具體的設備文件名如下:
需要注意的是在WinCE平臺,擴展串口號為COM20 – COM27,與主板上的串口號(COM2 – COM7)并不連續,而Linux平臺的設備節點名稱是與主板串口節點連續命名的。打開串口后的操作,都可通過標準函數實現各個功能。
盡管每路擴展串口的最高波特率均為115200bps,但考慮盡可能降低ISA總線的負載,建議把高波特率串口首先配置在主板的COM2 – COM6(CE平臺)或ttyS1 – ttyS5(Linux平臺),然后再在ETA503 / ETA508上部署,最后使用EM335x的低速串口COM7或ttyS6。
串口驅動程序的加載
ETA503 / ETA508的驅動程序已經包含在EM335x的內核中,通過適當方式加載這個驅動,就可進行串口操作了。
對Linux平臺,驅動程序為eta503_serial.ko,存放在跟文件系統的/lib/modules//3.12.10路徑下,用標準insmod命令即可實現加載。
對CE平臺,在啟動系統后,telnet登錄到CE的命令窗口,若要啟動ETA503,則帶參數4執行eta503set.exe:
若要啟動ETA508,則帶參數8執行eta503set.exe:
執行命令后重啟系統,ETA503或ETA508的驅動就會自動加載。應用程序就可操作這些串口了。
評估與技術支持
我們為第一次使用ETA503或ETA508的客戶準備了評估模塊,可與EM335x的評估套件直接連接使用,如圖所示:
早期售出的EM335x主板有可能沒有包括ETA503 / ETA508的驅動。若有串口擴展需求的客戶,請聯系英創技術支持(support@emtronix.com)以更新內核。
ETA503 / ETA508是英創自由知識產權產品,沒有提供它們的電路圖。數據手冊僅對模塊管腳信號進行說明。
成都英創信息技術有限公司 028-8618 0660