基于ARM微處理器及嵌入試Linux的串口網橋軟硬件設計
為了解決這個問題,可以在共享中斷源后面加一個用CPLD實現的邏輯電路。該邏輯電路由兩部分組成,第一部分是一個可尋址的寄存器INTEN,作為共享中斷的允許位。第二部分是一個狀態機邏輯電路,該電路共有三個狀態:S 0是等待狀態,該狀態下INTEN=I,只要任何一個串口產生中斷請求,CPU將馬上響應該中斷;Sl是中斷服務狀態,中斷服務程序一開始執行,馬上將INTEN設置為0,以屏蔽其他中斷請求,退出中斷服務程序時,再將INTEN設置為1,中斷服務程序執行期間產生的串口中斷請求由INTREQ鎖存;S2為延時狀態,延時50us,以確保中斷服務程序完全退出。
狀態機邏輯電路狀態圖如圖4所示:
4.系統軟件平臺
4.5 uC1inux操作系統簡介
Linux是一種很受歡迎的類UNIX操作系統,它免費并開放源代碼,在個人計算機、服務器領域應用廣泛。更重要的是,Linux采取模塊化設計,實際應用中可以實現定制,因此Linux也適用于嵌入式領域。uClinux正是Linux的一個嵌入式版本,其內核的二進制映像文件可以做到小于512K。
uClinux針對無MMU(Memory Management Unit,內存管理單元)的處理器設計,支持多任務,具有完備的TCP/IP協議棧并支持多種網絡協議。uClinux還支持多種文件系統,如ROMFS,NFS,FATl6/32。實際上,uClinux已經成功應用于路由器、網絡攝像機、機頂盒、PDA等諸多領域。
另外,uClinux可移植性很強,用戶通過重新配置、編譯內核,可以很方便地將其移植到ARM,Dragon Ball、ColdFire、Power PC等多種處理器計算平臺。當前uClinux主要提供2.0和2.4兩個內核版本。
4.2軟件開發調試方法
嵌入式Linux軟件開發可以采用一種特殊的模式:主機--目標機模式進行開發,其中主機就是常用的PC或工作站,開發環境運行在主機上,主機的操作系統是通用的Windows或Linux系統。目標機就是嵌入式應用系統,它與主機間通過串行口、以太網或其他方式通信,從主機下載編譯好的代碼并運行。
利用GNU提供的免費交叉調試工具,開發人員可以在主機上調試目標機上運行的程序。在目標機上運行一個代理,以接收主機發送過來的命令和代碼,并解釋執行。通過調試器。開發者可以設定程序運行的起止位置和斷點,同時可以查看和改變變量、寄存器和內存中的值,設置程序運行條件等,使開發人員感到如同在本機上調試程序一樣方便。
4.3程序框圖
串口網橋控制程序的主要功能就是實現對串口數據和網絡數據的重組與轉發。本地主機或遠端主機上的應用程序以原有的操作本機串口的方式與連接在串口網橋上的設備進行信息交互,主機上的設備驅動程序將應用程序要求發送的串口數據以及對應串口號等輔助信息轉換為網絡數據包,發送到以太網上;串口網橋的控制程序接收到經以太網傳送過來的數據包后,將數據包解包并提取其中的串口命令數據以及目標串口號等信息,而后重組成串口數據并發送到相應串口。控制程序處理串口設備上傳給本地主機或遠端主機的數據的方式與上述過程相反。
串口網橋軟件結構如圖5所示:
5,結束語
本文討論了一個基于ARM微處理器S3C4510B及uClinux的串口網橋設備的軟硬件設計,對S3C4510B芯片功能進行了簡要描述,并探討了基于該芯片的嵌入式Linux軟件開發模式.事實證明,采用Linux作為嵌入式操作系統并充分利用GNU提供的免費開發工具包,降低了嵌入式系統開發的經濟門檻,使更多的人能夠掌握相關技術,代表了嵌入式系統開發的一種新方向。
參考文獻:
[1].RS-232datasheethttp://www.dzsc.com/datasheet/RS-232_584855.html.
[2].ARM7TDMIdatasheethttp://www.dzsc.com/datasheet/ARMDMI_139812.html.
[3].S3C4510Bdatasheethttp://www.dzsc.com/datasheet/S3C45_589499.html.
[4].100Mdatasheethttp://www.dzsc.com/datasheet/100M_2509927.html.
[5].RTL8201datasheethttp://www.dzsc.com/datasheet/RTL8201_586322.html.
[6].HY57V641620HGhttp://www.dzsc.com/datasheet/HY57VHG_390467.html.
[7].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
[8].DM9161datasheethttp://www.dzsc.com/datasheet/DM9161_264516.html.
[9].FBGAdatasheethttp://www.dzsc.com/datasheet/FBGA_1457924.html.
[10].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[11].16C554datasheethttp://www.dzsc.com/datasheet/16C554_24747.html.
[12].Maximdatasheethttp://www.dzsc.com/datasheet/Maxim_1062568.html.
[13].MAX202datasheethttp://www.dzsc.com/datasheet/MAX202_1089634.html.
[14].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[15].CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.
評論