楊寶龍 華斌
(中國船舶重工集團公司712研究所,武漢 430064)
隨著信息技術的發(fā)展,以臺式計算機為主流的時代將進入以嵌入式系統(tǒng)形式存在的“后PC”時代。ARM體系作為專為嵌入式系統(tǒng)設計的處理器內(nèi)核,由于其高性能、低功耗、易擴展的特點,己成為嵌入式系統(tǒng)領域應用最廣泛的處理器之一。同時隨著工控及消費電子領域的發(fā)展,對于通信方式及速度等的要求越來越高,目前比較流行的通訊方式包括各種總線通訊及無線通訊等。
本文介紹了在以LPC2294為核心的ARM控制器的基礎上,充分利用ARM的控制優(yōu)勢,整合各種通訊方式,為開發(fā)者打造一個資源豐富的嵌入式通訊控制平臺,在此平臺上囊括了目前流行的各種通訊方式以及基本的鍵盤輸入、LCD彩色液晶顯示、觸摸屏等人機接口。開發(fā)者可在其上方便地開發(fā)各種通訊類產(chǎn)品,使產(chǎn)品研發(fā)周期更短,上市時間更短,系統(tǒng)可靠性更高,性價比更高。
整個平臺的硬件組成由一塊核心板以及一塊功能板組成,使用板間連接的方式組成一個整體,采用此種設計可使兩塊板方便的與另外所需的控制板組合,組成新的系統(tǒng),也利于各種模塊尤其是處理器的更新?lián)Q代。
平臺功能劃分框圖如圖1所示。
核心板包括處理器及其最小外圍擴展電路,該模塊是整個平臺的核心,負責所有的控制與信息處理、存儲,軟件操作系統(tǒng)存放于其外擴閃存中。處理器的資源處理與使用情況為:利用其UART0完成IAP與RS232功能,UART1擴展為RS485功能,4路CAN口只引出2路CAN口,存儲空間4個 BANK:BANK0、BANK1、BANK2分配給片外存儲器,BANK3的CS3與地址A23、A22經(jīng)過3-8譯碼器分配給液晶、以太網(wǎng)芯片、其他需片選的控制器。共引出4路I/O口作為指示燈控制引腳。
功能板包括各種通訊方式的收發(fā)及控制電路,電源、鍵盤、顯示、觸摸屏等的控制電路和接口電路,實現(xiàn)各種通訊功能與人機交互。
該部分包括 ARM 控制器及擴展 NAND FLASHROOM,SRAM,NOR FLASHROOM,EEPROM以及復位、晶振和必要的跳線開關等,ARM控制器選用NXP的LPC2294,LPC2294是基于一個支持實時仿真和跟蹤的 16/32位ARM7TDMI的控制器,片內(nèi)集成了256 KB的高速Flash存儲器和l6 KB的靜態(tài)RAM。128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使 32位代碼能夠在最高時鐘速率下運行。此外,LPC2294處理器還具有很多其他特性,使得它非常適用于工業(yè)控制;外部8、16或32位總線;片內(nèi)Boot裝載程序?qū)崿F(xiàn)ISP和IAP,為數(shù)據(jù)存儲和固件升級帶來極大的靈活性;4個CAN接口,帶有先進的驗收濾波器;2個 32位定時器(帶 4路捕獲和 4路比較通道)、PWM 單元(6路輸出)、實時時鐘和看門狗;多個串行接口,包括 2個工業(yè)標準UART;高速I2C接口(400 kHz)和2個SPI接口;向量中斷控制器,可配置優(yōu)先級和向量地址;多達112個通用I/0口(可承受5V電壓)。
NAND FLASHROOM 采 用 的 是K9F2808U0C,存儲空間為(16M+512K)×8 位,片內(nèi)寫控制自動實現(xiàn)所有編程和擦除功能;SRAM 采用的是 IS61LV51216,共有 512 K×16(8MB)的存儲空間;NOR FLASHROOM采用的是SST39VF160,其大小為 1M×16(16MB)。可通過跳線選擇程序的啟動、下載是從SRAM還是 NOR FLASHROOM;EEPROM 選擇的是CAT24WC16,其容量為 16KB,接口方式為 I2C總線方式[2]。
復位芯片采用MAX708,其復位輸出端直接接單片機的RST腳。
CAN隔離收發(fā)器采用 CTM1050芯片,CTM1050是一款帶隔離的高速 CAN收發(fā)器芯片,該芯片內(nèi)部集成了所有必需的DC/DC模塊、電氣隔離器件、CAN收發(fā)器件以及總線保護器件。芯片的主要功能是將 CAN控制器的邏輯電平轉(zhuǎn)換為 CAN總線的差分電平并且具有 DC 2500 V的隔離功能。該芯片具有良好的EMC性能,在不上電狀態(tài)下有理想的無源性能,并集成有完善的總線保護功能。其網(wǎng)絡端接有瞬變抑制器、分立終端電阻及其跳線[5]。
CTM1050的輸入、輸出線直接接于LPC2294的CAN0口和CAN1口,兩路CAN獨立,可分別接入兩個CAN網(wǎng)絡[5]。
以太網(wǎng)控制器采用的是RTL8019AS,該芯片是 8/16位 ISA總線的以太網(wǎng)控制器,RTL8019AS實現(xiàn)了以太網(wǎng)媒介訪問層(MAC)和物理層(PHY)的功能,包括MAC數(shù)據(jù)幀的組裝/拆分與收發(fā)、地址識別、CRC編碼/校驗等。支持IEEE02.3;支持8位或16位數(shù)據(jù)總線;內(nèi)置16KB的 SRAM,用于收發(fā)緩沖;全雙工,收發(fā)同時達到l0Mbps。
8019芯片的工作電壓是+5 V,LPC2294的內(nèi)核電壓是1.8 V,I/O口等邏輯電壓是3.3 V。雖然其I/O口可耐受5 V,但相互之間的I/O口連接仍通過限流電阻,以增加可靠性。采用16位數(shù)據(jù)總線與LPC2294連接。
網(wǎng)絡隔離變壓器與連接器采用集成于一體的HR901170A。
USB控制器采用的是 CH375,CH375 是一個 USB總線的通用接口芯片,支持 USB-HOST主機方式和 USB-DEVICE/SLAVE 設備方式。CH375 的USB主機方式支持常用的USB全速設備,外部單片機可以通過CH375按照相應的USB協(xié)議與 USB 設備通訊。CH375 還內(nèi)置了處理Mass-Storage 海量存儲設備的專用通訊協(xié)議的固件,外部單片機可以直接以扇區(qū)為基本單位讀寫常用的 USB 存儲設備(包括 USB 硬盤/USB閃存盤/U 盤在本地端,CH375 具有8 位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機/DSP/MCU/MPU等控制器的系統(tǒng)總線上。在 USB主機方式下,CH375還提供了串行通訊方式,通過串行輸入、串行輸出和中斷輸出與單片機/DSP/MCU/MPU 等相連接。
CH375通過雙向總線驅(qū)動器 74AC245與LPC2294的低8位數(shù)據(jù)總線連接,其他的讀、寫控制線與LPC2294相應的讀、寫控制線連接,中斷口連接LPC2294的P0.15腳(硬件中斷1),片選連接于3-8譯碼器的1路輸出。USB主機和設備的接口共用。提供1路連接指示燈。
RS232接口芯片采用的是MAX3232,連接于UART0口。RS485采用的是MAX3082,集成有必要的電磁防護措施,連接 UART1口。均采用DB9連接器。
射頻收發(fā)器采用德州儀器的CC1100,該器件是用于低功耗無線應用的業(yè)界系統(tǒng)成本最低的多通道無線電產(chǎn)品。工作于433 MHz頻段,控制接口為SPI,有效傳輸距離可達100 m。
LPC2294的SPI0口控制CC1100,天線采用可拆卸式。
備有藍牙模塊可接插于UART1口。
鍵盤控制芯片采用 MAX7348,可監(jiān)控達 40個按鍵,按鍵輸入被靜態(tài)監(jiān)控而非動態(tài)掃描,確保低EMI,鍵盤控制器對按鍵操作去抖并將其保存在 FIFO中(如果使能自動重復電路,包括自動重復按鍵),I2C接口[3]。
液晶顯示器及觸摸屏采用 240*320點陣的彩色TFTG240320UTSW。并行8位數(shù)據(jù)總線接口。LED背光。
另外通過 MAX7317 串行接口外設器件為微處理器擴展10 個I/O 端口,額定電壓為7V。每個端口都可單獨配置為漏極開路輸出或帶有過壓保護的施密特輸入,接入4路LED等。
LPC2294要使用2組電源,I/O口供電電源為3.3V,內(nèi)核及片內(nèi)外設供電電源為1.8 V,外部接入電源為DC24 V,經(jīng)過DC-DC模塊轉(zhuǎn)換為5 V,再使用 LDO芯片(低壓差電源芯片)穩(wěn)壓輸出 3.3 V及 1.8 V。LDO芯片采用了 SPX1117-3.3和SPX1117-1.8,其特點為輸出電流大,精度高,穩(wěn)定性高,功耗低。微控制器的模擬電源和數(shù)字電源經(jīng)過10uH的電感隔離[4]。
該平臺操作系統(tǒng)使用uC /OS-II。uC/OS-II主要特點如下:源代碼公開。uC/OS-II不僅公開全部的源代碼,并且對代碼有詳盡的注解;可移植:絕大部分uC /OS-II的源代碼是用ANSIC 語言編寫。只有和處理器相關的部分是用匯編語言編寫。所以只要對處理器相關的部分作相應修改,uC/OS-II就可以在絕大多數(shù)8位、16位、32位甚至64位的系統(tǒng)上運行;可剝奪實時內(nèi)核。uC /OS-II是個完全占先式內(nèi)核,而響應時間是可知的很適合于對實時性要求比較高的系統(tǒng);多任務,uC/OS-II最多可以運行64個任務,有8個為系統(tǒng)保留,所以應用程序最多可以有56個任務。每個任務必須有不同的優(yōu)先級;可確定性,uC /OS-II全部的函數(shù)謂用和執(zhí)行時間都有可確定性;系統(tǒng)服務的執(zhí)行時間不依賴于應用任務的多少;可裁減,uC /OS-II依靠條件編譯實現(xiàn)可裁減性[1]。
在LPC2294上的移植,完成的工作包括:修改三個和體系結(jié)構(gòu)相關的文件;OS_CPU_C.C、OS_CPU_C.H以及OS_CPU_A.S。主要內(nèi)容為:數(shù)據(jù)類型定義;ARM處理器相關宏定義;堆棧增長方向、任務的切換等。

圖1 LPC2294平臺功能框圖
本文詳細地介紹了基于 ARM 控制器LPC2294的通訊平臺的硬件以及軟件設計,適用廣泛,應用性強。經(jīng)過長時間的考核運行,其穩(wěn)定性、可靠性以及兼容性均滿足要求。
[1]Abrosse Jean J, 邵貝貝譯. C/OS-II-源代碼公開的實時嵌入式實時操作系統(tǒng). 北京: 中國電力出版社, 2001.
[2]周立功. ARM 與嵌入式系基礎教程[M]. 北京: 北京航天航天大學出版社, 2002.
[3]胡漢才. 單片機原理及其接口技術[M]. 北京: 清華大學出版社, 1995.
[4]余祖俊. 微機檢測與控制應用系統(tǒng)設計[M]. 北京:北京交通大學出版社, 2001.
[5]鄔寬明. CAN總線原理和應用系統(tǒng)設計[M]. 北京:航空航天大學出版社, 1996.