• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于μC/OS-II和TCP/IP協議的多串口服務器

    基于μC/OS-II和TCP/IP協議的多串口服務器

    作者: 時間:2011-09-12 來源:網絡 收藏
    SC28L198的系統時鐘(SCLK)可同時作為主機接口和其他內部電路的基本時間基準。為了確保內部控制器的正確操作,提供的SCLK頻率必須大于X1晶體時鐘的2倍或任何外部的1X數據時鐘輸入。由于LM8962芯片本身沒有提供時鐘信號輸出引腳,若由定時器中斷產生7.3728MHz以上頻率的方波信號將使LM8962頻繁處理中斷程序,影響程序執行效率。當SC28L198工作在50MHz頻率下,其中的PWM硬件模塊最高可以產生25MHz輸出,且不產生任何中斷,因此LM8962將從頻繁的查詢和處理中斷中解脫出來。

    本文引用地址:http://www.czjhyjcfj.com/article/150228.htm

      在該系統中,需根據不同的應用場合使用RS-232收發器或RS-422/485收發器及其外圍電路。使用RS-232收發器可以進行近距離全雙工通信,使用RS-422/485收發器能夠進行遠距離數據傳輸。由于整個系統工作于3.3V電壓下,為了匹配TTL電平和RS-232電平或RS-422/485電平,該電路采用MAX3232芯片或MAX3485芯片。

      LM8962內部集成的以太網控制器包含一個完整的MAC模塊和PHY接口器件,簡化了硬件電路設計。該以太網控制器完全支持10BASE-T和100BASE-TX標準以及遵守IEEE802.3。整個系統連接以太網只需一個隔離變壓器,無需外接以太網控制芯片,簡化了硬件設計。隔離變壓器能夠隔離模塊地和數字地,從而保證SC28L198能夠遠離外界的復雜信號。

      3 軟件設計

      在該系統中,用戶可以對的配置、狀態查詢和在計算機(客戶端)上通過以太網收發數據進而操作該。在客戶端上,8個SC28L198的通道被虛擬成8個COM接口。操作這些虛擬COM接口就如同操作計算機上的物理COM接口,因此用戶不必知道數據是通過以太網進行傳輸。實際上,用戶操作這些COM接口時,產生的命令和數據將被打包成一幀數據并發往處理器LM8962,然后LM8962將數據通過SC28L198的相應通道發送到設備上。使用ARM處理器LM8962作為嵌入式設備的核心器件,在其上運行μ操作系統來打開、關閉和管理8個串行通道的相應進程。因此,8個串行通道能夠同時收發數據而不相互影響。

      3.1μ

      μ是免費開源、專門為嵌入式系統設計的實時操作系統。它包括任務計劃、任務管理、時間管理、內存管理、任務間的通信以及其他一些基本功能。在該系統中采用μC/OS-II來實現以下功能:

      (1)建立一個消息隊列來存儲串口通道的消息和UDP消息;(2)控制SC28L198收發串口數據;(3)建立一個任務來管理UDP通信,并通過以太網收發數據;(4)建立一個任務來管理串口通道收發任務與UDP通信任務之間的通信。

      3.2模塊

      具有分層結構,能夠實現對以太網數據幀進行打包和解包。UDP在的傳輸層,提供一種不可靠的數據傳輸服務,但UDP相對簡單,比起TCP協議更能夠提供實時和快速的數據傳輸。在正常的運行過程中,該TCP/IP程序模塊能夠從數據隊列中獲取串口通信的數據并將數據打包至UDP包中,然后將UDP包發送至IP層,最后形成一幀數據。該幀數據將會通過以太網發送到計算機中。與此同時,該程序模塊還將從以太網接收到的數據解包出來,將其中的串口通道號和串口數據發送到SC28L198中去。表1描述了收發一幀數據的格式。

      表1數據傳輸格式

      

    tcp/ip相關文章:tcp/ip是什么




    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 卓资县| 高淳县| 汶川县| 乌鲁木齐县| 宣恩县| 长治市| 红原县| 略阳县| 衡南县| 扶绥县| 梁平县| 库尔勒市| 兴安盟| 卢湾区| 宁河县| 安龙县| 寻乌县| 乡城县| 秭归县| 吉林省| 偃师市| 云浮市| 原阳县| 贵南县| 科尔| 瓦房店市| 灵璧县| 天镇县| 南汇区| 泸西县| 株洲县| 神池县| 偏关县| 上饶市| 逊克县| 汶川县| 丰城市| 渑池县| 嘉峪关市| 晋江市| 巨野县|