李玨穎,張 斌,賴文娟
(中國兵器工業第五八研究所軍品部,四川 綿陽 621000)
近些年來,模塊化電腦(computer on module-express,COM-E)主板以其核心集成化、二次開發容易、定制周期短等優勢,成為了X86架構下嵌入式計算機設計的重要資源。
COM-E主板作為一種嵌入式系統設計使用的標準化CPU模塊,根據Intel新一代芯片組的要求,取消了PS2、串行接口、并行接口等配置。取而代之的是Intel公司所倡導的更節省芯片資源的LPC總線(low pin count)。但是在工程應用中,依然有大量設備采用串行接口作為通信接口,串口通信依然是系統設計中必不可少的功能。本文介紹了一種基于Super I/O芯片和Cortex-M3 ARM芯片的COM-E主板接口擴展設計,實現了工程應用中多路串口、I/O口的功能需求。
本接口設計的結構框圖如圖1所示。設計中采用德國控創Intel? CoreTMi7-2655LE+QM67 PCH架構的 Type2 COM-E主板為核心板,自行設計載板,通過W83627HG芯片和LPC1758 ARM處理器實現4個串口及多個I/O口的擴展。

圖1 接口擴展設計結構
根據系統設計需求,3個擴展串口為通信接口,實現數據轉發即可。第4個擴展串口需要與姿態儀連接,姿態儀將每10 ms發送一幀數據,為保證信息的實時性,在系統設計中,由微處理器LPC1758對串口數據和I/O口信息進行計算和修正處理后,再通過另一串口與主板進行通信。
W83627是臺灣WINBOND公司的一款使用廣泛的Super I/O芯片,采用了Intel標準的LPC總線,較ISA標準結構節省了更多的芯片資源,可擴展2路高速串口,支持雙向打印機端口、增強并行接口、PS/2接口、MIDI接口等。
W83627使用兼容PNP協議訪問配置寄存器以進行不同類型的配置,共包含11個邏輯設備,相應代表了11個獨立的設備功能:FDC邏輯設備0/PRT邏輯設備1,UART1邏輯設備2,UART2邏輯設備3KBC邏輯設備5等。每一個邏輯設備都有它自己的配置寄存器,通過將相應邏輯設備號寫入邏輯設備選擇寄存器,主機就可以訪問這些寄存器,從而實現功能的擴展。
LPC1758是NXP公司的一款Cortex-M3微控制器芯片,具備3級流水線和哈佛結構,最高操作頻率達100 MHz,其外設組件包括512kFlash,64k片內 SRAM,以太網 MAC,USB2.0,4個UART、2條CAN通道,8通道的12位ADC、10位DAC以及多達70個通用I/O口。
LPC1758 ARM處理器具有4個符合16C550工業標準的異步串口,內置小數分頻器、16字節FIFO,支持DMA發送接收。其中 UART1支持 Modem和 RS485/EIA485模式,UART0,2,3 支持 IrDA 接口。
LPC1758包含了5組多達70個GPIO管腳,同常用于LED、蜂鳴器、高低電平狀態信息等數字量信號的輸入/輸出。支持系統配置為上拉/下拉電阻、開漏和中繼模式。
接口擴展設計電路圖如圖2所示,COM-E主板首先通過LPC總線與W83627HG芯片連接,W83627的第22至29腳為LPC總線接口,與主板B3至B8腳對應相連;第19腳為PME電源管理引腳,與主板C15腳連接;21腳為PCI時鐘輸入,與主板LPC總線時鐘B10連接;30腳為復位信號,應注意不能與主板的系統復位信號連接,應與主板PCI復位信號B50連接。外接24MHZ時鐘后,W83627的第53/54和第82/83腳可實現LPC總線2個UART串口的擴展。
其中UARTB用做對外數據通信接口直接引出,UARTA與LPC1758芯片第39/40腳UART2連接,實現主板與ARM芯片通信,通過ARM芯片實現其他3個串口和多個IO口的擴展。
LPC1758芯片的1至5腳為JTAG接口,做程序燒寫時使用;19/20和13/15腳分別為內部時鐘和RTC時鐘引腳,分別接 12 MHz和 32.768 kHz無源晶振;第 79/80、47/48、37/38分別設置為UART0、UART1、UART33個擴展串口,擴展串口與電平轉換芯片SP211E連接,實現與外設的RS232串口通信。LPC1758的 P2[0]至 P2[9]腳和 P1[18]至 P1[22]腳為通用輸入輸出接口,直接配置為GPIO引腳,與狀態開關/LED/蜂鳴器等外設連接。

圖2 接口擴展設計電路
系統設計通過LPC1758處理器擴展了4個串口和多個I/O接口。其中UART0為外部姿態儀信息輸入接口,UART2為主板通信接口。9個I/O接口與外部狀態按鍵/開關連接,實現快捷控制開關量輸入。姿態儀每10 ms發送一次完整數據,系統軟件采用中斷接收方式實時監控UART0,當接收到新數據后,由ARM芯片對其進行解算和修正后,每10 ms將當前狀態幀的修正結果和當前開關量結果一同由UART2發送至COM-E主板。2個I/O接口做LED指示燈和蜂鳴器控制電平輸出使用,當ARM芯片從UART2接收到主板發送的控制指令時,控制I/O輸出電平變化,激活或關閉LED和蜂鳴器。另3個串口做為擴展通信接口,當有新數據接收或發送時,不進行任何處理,原樣與主板通信。
串口擴展軟件的工作流程圖如圖3所示。首先LPC1758的UART0處于接收狀態,當程序接收到姿態儀傳輸的原始信息時,進入接收中斷,自動接收數據,同時根據姿態儀的傳輸協議判斷是否接收完;當接收到完整的一幀信號后,程序退出接收中斷,并調用解算程序對信息進行解算,將計算結果存入緩沖區中,同時程序讀取當前GPIO口的狀態信息,將GPIO信息同解算結果信息按照ARM與COME-E主機的通訊協議成幀,并從UART2發送至主機。

圖3 軟件工作流程
UART0采用中斷接收模式接收姿態儀信息:




本設計實現了COM-E主板多串口/IO口的擴展使用以及高實時性要求下串口信息的預處理。該設計已成功應用于某軍用型號項目中,經驗證,系統具備設計簡單、硬件尺寸小、可靠性高等優點,同時能滿足姿態儀信息的高實時性要求,在嵌入式電子設備設計中具備廣泛的應用前景。
[1]PICMG.COM ExpressTMCarrier Design Guide[EB/OL].[2009-04-23].http://cn.kontron.com/_etc/scripts/download/getdownload.php?downloadId=OTE5NQ==.
[2]王維,蔣景宏,劉垚,等基于COM Express架構的數據記錄儀的設計與實現[J].電子技術應用,2011(12):29-32.