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