基于DSP+ARM架構(gòu)的協(xié)議轉(zhuǎn)換器設(shè)計
圖3 TMS320C6416與S3C4510B的接口示意圖
2.2.2以太網(wǎng)接口電路
ARM微控制器S3C4510B內(nèi)嵌一個以太網(wǎng)控制器,支持媒體獨立接田MII(Media Independent Interface)和帶緩沖DMA接口(Buffered DMA Interface)??稍诎腚p工或全雙工模式下提供10/100 Mb/s的以太網(wǎng)接人。在半雙工模式下,控制器支持CSMA/CD協(xié)議,在全雙工模式下支持IEEE802.3 MAC控制層協(xié)議。因此,S3C4510B內(nèi)部實際上已包含了以太網(wǎng)MAC控制,但并未提供物理層接口,所以采用RTL8201作為以太網(wǎng)的物理層接口。信號的發(fā)送和接收端TPRX+、TPBX-、TPTX+、TPTX一應(yīng)通過網(wǎng)絡(luò)隔離變壓器和RJ45接口接入傳輸媒體。以太網(wǎng)接口示意圖如圖4所示。
圖4以太網(wǎng)接口示意圖
3、系統(tǒng)軟件設(shè)計
由于需要ARM微控制器S3C4510B實現(xiàn)整個系統(tǒng)的協(xié)調(diào)控制和網(wǎng)絡(luò)功能,因此在S3C4510B上移植了嵌人式操作系統(tǒng)uClinux。uCLinux是一個帶有完整TCP/IP協(xié)議的操作系統(tǒng),在uCLinux中加人實時RT -Linux模塊以滿足對嵌人式操作系統(tǒng)的實時性要求,并根據(jù)需要對uCLinux系統(tǒng)進行了裁剪。
在網(wǎng)絡(luò)通信中,基于TCP/IP協(xié)議的通信方式有很多,本文選用Socket實現(xiàn)服務(wù)器端和客戶端的數(shù)據(jù)通信。socket是建立在傳輸層協(xié)議上的一種套接字規(guī)范,它定義了兩臺計算機間進行通信的規(guī)范。套接字屏蔽了底層通信軟件和具體操作系統(tǒng)的差異,使得任何兩臺安裝了TCP協(xié)議軟件和實現(xiàn)了套接字規(guī)范的計算機之間的通信成為可能。在開發(fā)ptCLinux系統(tǒng)下的套接字程序時,采用了TCP套接字,因為它提供了一種可靠的面向連接的數(shù)據(jù)傳輸方法,有檢錯和糾錯機制,并且不管對單個數(shù)據(jù)報還是數(shù)據(jù)包,它都提供一種流式數(shù)據(jù)傳輸方式。服務(wù)器首先啟動并進行初始化操作,通過調(diào)用函數(shù)socket()創(chuàng)建一個套接字,然后調(diào)用函數(shù)bind()將該套接字和本地網(wǎng)絡(luò)地址綁定在一起,再調(diào)用函數(shù)listen()將該套接字轉(zhuǎn)換成傾聽套接字,之后調(diào)用函數(shù)accept()來等待接收客戶的請求??蛻粼谡{(diào)用函數(shù)socket()建立套接字后就可以調(diào)用函數(shù)connect()與服務(wù)器建立連接∝連接一旦建立,客戶端和服務(wù)器端之間就可以通過調(diào)用函數(shù)read O和wnte()進行通信,待數(shù)據(jù)傳送結(jié)束以后,雙方調(diào)用函數(shù)close()關(guān)閉套接字。
通過對系統(tǒng)進行聯(lián)合調(diào)試,實現(xiàn)了被測數(shù)據(jù)無損、實時、遠距離與遠程上位機進行通信并能接收上位機的控制指令,實現(xiàn)工作狀態(tài)遠程交互的任務(wù)。測試人員通過上位機可以對遙測數(shù)據(jù)進行編輯,并隨時可以查看接收數(shù)據(jù)的正確與否。
本文詳細介紹了基于DSP+ARM架構(gòu)的協(xié)議轉(zhuǎn)換器的設(shè)計實現(xiàn)。提供了詳細的硬件平臺結(jié)構(gòu)設(shè)計方案,闡述了基于嵌人式系統(tǒng)的網(wǎng)絡(luò)編程的實現(xiàn)方法。根據(jù)本方案實現(xiàn)的協(xié)議轉(zhuǎn)換器具有低成本、低功耗、通用性好、功能可升級擴展等優(yōu)點。
評論