基于SEP3203的嵌入式以太網(wǎng)口的設(shè)計(jì)
網(wǎng)絡(luò)接口模塊和SEP3203微處理器的連接線比較簡(jiǎn)單,在PCB板上布線比較規(guī)則。網(wǎng)絡(luò)接口芯片RTL8019的實(shí)際電路連接圖見參考文獻(xiàn)[3]。網(wǎng)口選用了內(nèi)置變壓及指示燈的RJ45網(wǎng)絡(luò)接口,實(shí)際電路圖如圖3[4]所示, 對(duì)比SEP3203微處理器的SRAM接口協(xié)議,由于總線沒有等待信號(hào),所以沒有使用IOCHRDY信號(hào)。由于SEP3203微處理器總線的最低數(shù)據(jù)位寬是16位,所以IOCS16B固定置于16位方式。
本文引用地址:http://www.ex-cimer.com/article/84194.htm5 軟件平臺(tái)Nucleus
綜合考慮各個(gè)因素,我們選擇了嵌入式實(shí)時(shí)操作系統(tǒng)Nucleus。Nucleus PLUS是美國(guó)著名RTOS廠商(ATI)(Accelerated Technology Inc)公司為實(shí)時(shí)嵌入式應(yīng)用而設(shè)計(jì)的一個(gè)搶先式多任務(wù)操作系統(tǒng)內(nèi)核,其95%的代碼是用ANSI C寫成的,非常便于移植并支持大多數(shù)類型的處理器。Nucleus PLUS是一組C函數(shù)庫,下載到目標(biāo)板的RAM中或直接燒錄到到目標(biāo)板的ROM中執(zhí)行。在典型的目標(biāo)環(huán)境中,Nucleus PLUS核心代碼一般不超過20K字節(jié)大小,內(nèi)核規(guī)模非常小。Nucleus PLUS除提供功能強(qiáng)大的內(nèi)核操作系統(tǒng)外,還提供種類豐富的功能模塊。例如用于通訊系統(tǒng)的局域和廣域網(wǎng)絡(luò)模塊,支持圖形應(yīng)用的實(shí)時(shí)化Windows模塊,支持nternet網(wǎng)的WEB產(chǎn)品模塊,工控機(jī)實(shí)時(shí)BIOS模塊,圖形化用戶接口,以及應(yīng)用軟件性能分析模塊等,用戶可以根據(jù)自己的應(yīng)用來選擇不同的應(yīng)用模塊。
6 網(wǎng)絡(luò)接口通信的設(shè)計(jì)
網(wǎng)絡(luò)接口的硬件將網(wǎng)絡(luò)上傳送來的數(shù)據(jù)送入系統(tǒng)內(nèi)存中,并通知操作系統(tǒng)有網(wǎng)絡(luò)數(shù)據(jù)到達(dá)。通常,網(wǎng)絡(luò)接口使用中斷機(jī)制來完成這一任務(wù),一個(gè)中斷時(shí)處理器將正常的處理掛起,跳轉(zhuǎn)到設(shè)備驅(qū)動(dòng)程序的代碼段執(zhí)行。此時(shí),由設(shè)備驅(qū)動(dòng)程序管理所有細(xì)節(jié)。設(shè)備驅(qū)動(dòng)軟件通知協(xié)議棧已經(jīng)有一個(gè)分組到達(dá),并要求進(jìn)行相應(yīng)的處理。當(dāng)設(shè)備驅(qū)動(dòng)軟件完成這些繁瑣的處理工作后,他將從中斷返回,處理器繼續(xù)從中斷發(fā)生處往下執(zhí)行。在本協(xié)議棧中,設(shè)備驅(qū)動(dòng)程序?qū)ι蠈討?yīng)用屏蔽了接收和發(fā)送的細(xì)節(jié)。用戶只需要調(diào)用相應(yīng)的套接字即可以完成數(shù)據(jù)的接收和發(fā)送。比如用戶要使用非阻塞方式接收和發(fā)送數(shù)據(jù),可以使用Select(),在Select 的timeout 參數(shù)選擇NO_PREEMPT,即可以非阻塞方式接收發(fā)送。在本TCP/IP 實(shí)現(xiàn)中,協(xié)議棧初始化是依靠調(diào)用NETI_Init()完成的。NETI_Init()完成兩個(gè)工作,首先是對(duì)網(wǎng)絡(luò)協(xié)議棧的初始化[5], 然后就對(duì)系統(tǒng)所使用的網(wǎng)絡(luò)設(shè)備進(jìn)行初始化。
網(wǎng)絡(luò)接口通信模塊的流程圖如圖4[1]所示。
圖4 網(wǎng)絡(luò)接口通信流程圖
流程說明:①程序由Main()函數(shù)開始,調(diào)用taskmain()。②taskmain()調(diào)用sys_ini()對(duì)系統(tǒng)初始化,調(diào)hardware_ini()對(duì)硬件初始化;調(diào)用vcre_tsk()創(chuàng)建了6個(gè)任務(wù),調(diào)用stak_tske()將部分任務(wù)放入就緒隊(duì)列,調(diào)用sys_sta()啟動(dòng)系統(tǒng)。③通過系統(tǒng)調(diào)度開啟任務(wù)demo_main。④函數(shù)demo_main()調(diào)用ne2000_task()開始測(cè)試過程。⑤ne2000_task()的主要功能是:調(diào)用Neti_Init()對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行初始化;調(diào)用Nu_add_Route()將缺省網(wǎng)關(guān)、子網(wǎng)掩碼、目標(biāo)ip添加進(jìn)路由表;調(diào)用Nu_socket()創(chuàng)建一個(gè)sockets;建立sever端的地址信息數(shù)據(jù)結(jié)構(gòu);調(diào)用 Nu_connect()向sever發(fā)送建立連接的請(qǐng)求,若sever返回確認(rèn)則連接成功;調(diào)用Nu_send()/Nu_receive()發(fā)送/接收數(shù)據(jù);傳輸完畢調(diào)用Nu_close_socket關(guān)閉socket連接,并調(diào)用Nu_sleep()掛起n個(gè)周期。
7 系統(tǒng)測(cè)試
在PC端運(yùn)行串口調(diào)試助手,該軟件可從網(wǎng)上免費(fèi)獲得,軟件運(yùn)行后根據(jù)實(shí)際運(yùn)行環(huán)境進(jìn)行設(shè)置。經(jīng)測(cè)試,模塊轉(zhuǎn)發(fā)數(shù)據(jù)正常。
8 結(jié)論與展望
串口由于其易用性、可靠性及相對(duì)于工控設(shè)備而言足夠高的通信能力而長(zhǎng)盛不衰,而串口設(shè)備實(shí)現(xiàn)遠(yuǎn)程控制及數(shù)據(jù)共享也是大勢(shì)所趨。因此,串口以太網(wǎng)轉(zhuǎn)換器的開發(fā)是有現(xiàn)實(shí)意義和社會(huì)經(jīng)濟(jì)價(jià)值的。本課題的目的是實(shí)現(xiàn)串行接口的儀器接入網(wǎng)絡(luò)使得儀器的使用網(wǎng)絡(luò)化。為此本課題介紹了該轉(zhuǎn)換器以太網(wǎng)口的硬件設(shè)計(jì)和軟件編程實(shí)現(xiàn),并且設(shè)計(jì)了整機(jī)。
因?yàn)槲⑻幚砥鲗?duì)于各種電器設(shè)備有良好的接入和控制能力,所以我們實(shí)現(xiàn)了微處理器的網(wǎng)絡(luò)接入功能后,就在電器的硬件設(shè)備和網(wǎng)絡(luò)之間建起了一道橋梁,通過它可以實(shí)現(xiàn)對(duì)各種實(shí)時(shí)信號(hào)儀器儀表家用設(shè)施等目標(biāo)的遠(yuǎn)程監(jiān)視。在宏觀上,對(duì)各種設(shè)備統(tǒng)一管理實(shí)現(xiàn)人與系統(tǒng)的和諧的交互,這必將大大提高工作效率,改善工作環(huán)境提升人們的生產(chǎn)生活水平。
本文作者創(chuàng)新點(diǎn):①本系統(tǒng)采用ARM作為該系統(tǒng)的核心處理器,替代過去低檔CPU,嵌入式實(shí)時(shí)操作系統(tǒng)可移植到該系統(tǒng)硬件平臺(tái)。②本轉(zhuǎn)換器提供RS232/RS485口到TCP/IP以太網(wǎng)口協(xié)議雙向轉(zhuǎn)換傳輸,變傳統(tǒng)的串口通訊為網(wǎng)絡(luò)通訊,實(shí)現(xiàn)串口設(shè)備的快速聯(lián)網(wǎng)。采用透明傳輸方式,用戶不用了解復(fù)雜的TCP/IP 協(xié)議,甚至不用更改程序即可實(shí)現(xiàn)原有串口設(shè)備的網(wǎng)絡(luò)連接。
參 考 文 獻(xiàn)
[1]時(shí)龍興,凌明,王學(xué)香,鐘銳.嵌入式系統(tǒng)――基于SEP3203微處理器的應(yīng)用開發(fā)[M].北京:電子工業(yè)出版社,2006.
[2]徐金波.基于SEP3203微處理器的信息終端的應(yīng)用研究.[碩士學(xué)位論文].東南大學(xué).2006.
[3]REALTEK SEMI-CONDUCTOR CO, LTD.. Full-Duplex Ethernet Controller RTL8019AS Publication release date: August 20,2000
[4] http://www.prochip.com.cn/manage/file/GD01DataSheet .pdf
[5]呂昌泰,羅永剛.嵌入式以太網(wǎng)接口的研究與設(shè)計(jì).微計(jì)算機(jī)信息[J].2006(8-2):68-70.
評(píng)論