• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種新型集線器系統(tǒng)的設計

      2019-01-21 06:49:48沈健潘進
      電子制作 2019年1期
      關鍵詞:集線器發(fā)送數(shù)據(jù)波特率

      沈健,潘進

      (1.蘇州健雄職業(yè)技術(shù)學院,江蘇太倉,215411;2.浩科機器人(蘇州)有限公司,江蘇太倉,215400)

      0 引言

      集線器(HUB)屬于數(shù)據(jù)通信系統(tǒng)中的基礎設備,具有流量監(jiān)控、數(shù)據(jù)交換功能,是一種不需任何軟件支持或只需很少管理軟件管理的硬件設備,它被廣泛應用到各種場合。大多數(shù)集線器屬于純硬件網(wǎng)絡底層設備,不具有類似于交換機的"智能記憶"能力和"學習"能力。發(fā)送數(shù)據(jù)時都是沒有針對性的,而是采用廣播方式發(fā)送。也就是說當它要向某節(jié)點發(fā)送數(shù)據(jù)時,不是直接把數(shù)據(jù)發(fā)送到目的節(jié)點,而是把數(shù)據(jù)包發(fā)送到與集線器相連的所有節(jié)點。這種設備的廣播發(fā)送數(shù)據(jù)方式有三方面不足:(1)用戶數(shù)據(jù)包向所有節(jié)點發(fā)送,帶來不安全因素,很容易就能非法截獲他人的數(shù)據(jù)包。(2)由于所有數(shù)據(jù)包都是向所有節(jié)點同時發(fā)送,數(shù)據(jù)傳送過程中容易堵塞,降低了執(zhí)行效率。(3)雙向接口只需要3根線制作,非平衡電路使得RS-232非常的容易受兩設備間基點電壓偏移的影響很容易發(fā)生串話的問題。

      本設計利用嵌入式系統(tǒng)設計的一款智能集線器,當節(jié)點提出交換數(shù)據(jù)信息的請求時,數(shù)據(jù)包發(fā)送給對應節(jié)點,其他沒有需求的節(jié)點將不會接收數(shù)據(jù)包,如圖1所示。

      圖1 集線器

      1 硬件電路設計

      1.1 系統(tǒng)總體框圖設計

      本集線器是由一個從端口和兩個主端口組成,系統(tǒng)在通電之前,通過對波特率設置開關的設置,確定主從端口數(shù)據(jù)的波特率。集線器上電后通過嵌入式系統(tǒng)檢測串口通信主端口是否有請求信號發(fā)出,請求信號包含連接主端口的設備需要采集的數(shù)據(jù)協(xié)議,當集線器接收到相應主端口發(fā)送過來的數(shù)據(jù)包后,保存對應主端口號,并將接收過來的數(shù)據(jù)包完整發(fā)送給從端口。連接在從斷口上的設備接收到發(fā)送過來的數(shù)據(jù)包,進行解析,根據(jù)通信協(xié)議,發(fā)送對應數(shù)據(jù)包所需要的數(shù)據(jù)包給集線器,集線器收到從端口發(fā)送過來的數(shù)據(jù)包后,根據(jù)保存的主端口號,有選擇的將從端口號的發(fā)送過來的數(shù)據(jù)包發(fā)送給對應的從端口設備,完成一次數(shù)據(jù)請求發(fā)送的通信。本集線器系統(tǒng)結(jié)構(gòu)圖設計如圖2所示。

      圖2 系統(tǒng)結(jié)構(gòu)圖

      1.2 硬件電路設計

      本集線器系統(tǒng)大致分為5個電路模塊,分別是:嵌入式控制核心模塊、多路串口通信模塊、電源電路模塊、串行E2PROM存儲單元模塊、波特率設置開關控制模塊。電源電路模塊給集線器提供3.3V電源,外接電源12~24V電源模塊。波特率設置開關電路通過三路撥碼開關設置8種波特率,確保主從端口接收發(fā)送數(shù)據(jù)波特率一致,波特率設置對應分別是:

      STM32F103RBT6內(nèi)置了3個通用同步/異步收發(fā)器,多路串口通信模塊采用SP232EEN芯片,本次串口通信采用三線標準制RXD、TXD和GND,由于本集線器使用在本地設備中而且是點對點,傳輸距離近,所以采用RS232異步串行通信模式。這種通信模式是以字符為傳輸單位,相鄰兩個字符間隔時間不定,接收和發(fā)送的波特率是由三位開關設置。由于主口設備數(shù)據(jù)包格式不一致,我們在編程時不考慮數(shù)據(jù)格式,接收數(shù)據(jù)時采用查詢方式確定數(shù)據(jù)包的字節(jié)數(shù),并將數(shù)據(jù)包以字符形式存儲在E2PROM隊列里,發(fā)送數(shù)據(jù)時根據(jù)字節(jié)數(shù)到E2PROM隊列里讀取數(shù)據(jù)發(fā)送確保數(shù)據(jù)傳輸不丟包。

      串行E2PROM存儲單元模塊采用FM24V02芯片保存讀取端口號及對應傳遞的數(shù)據(jù)包,F(xiàn)M24V02是一款256Kb的3V串行F-RAM存儲器,使用雙線協(xié)議。該FM24V02執(zhí)行寫操作時,沒有寫入延遲發(fā)生,速度快等特點。下一個數(shù)據(jù)循環(huán)可立即開始,而不需要數(shù)據(jù)輪詢。串口通信模塊及存儲模塊如圖3所示。

      圖3 串口通信模塊及存儲模塊

      2 軟件設計

      程序設計要求有:(1)確保接收的數(shù)據(jù)和發(fā)送的數(shù)據(jù)一致;(2)哪個主端口提出數(shù)據(jù)請求,從設備收到數(shù)據(jù)后解析把結(jié)果發(fā)送給對應的端口。由于STM32單片機帶IDLE中斷,所以利用這個中斷,可以接收不定長字節(jié)的數(shù)據(jù)。我們在做數(shù)據(jù)通信的時候通過命令開啟通信,通信要求實時且準確不丟幀。開始是定義了一個大數(shù)組,將該緩存數(shù)組定義成接收的長度,然后每次接收后清除該buff,而且要確保系統(tǒng)發(fā)送的數(shù)組長度要一定時才不會出錯,但順序會變化,并每次在接收到數(shù)據(jù)后都通過指令memcpy(d,s,strlen(s))復制到隊列中,確保數(shù)據(jù)不丟失。

      程序開始運行后,先配置硬件,硬件配置主要是對串口異步通行和E2PROM隊列清零進行配置,然后進入接收數(shù)據(jù)模塊,判斷各路串口是否有數(shù)據(jù)包接收,如果有,則將該數(shù)據(jù)包保存在E2PROM存儲單元隊列中;如果沒有則巡回檢測各路端口是否有數(shù)據(jù)包接收,詳情見圖4;當系統(tǒng)發(fā)現(xiàn)E2PROM隊列中有新的數(shù)據(jù)包后,就讀取該數(shù)據(jù)包,并清零該隊列,然后將該數(shù)據(jù)包發(fā)送給指定的端口,詳情見圖5。

      3 系統(tǒng)調(diào)試

      我們采用一個相同硬件的線路板作為測試板,通過串口調(diào)試助手軟件讀取主端口接收發(fā)送的數(shù)據(jù)包,讓測試板從口接到待測線路板的從口上,待測線路板上的2路主口通過RS232串口線接到PC的串口上,我們在做測試程序的時候,讓測試版上從口接收的數(shù)據(jù)原路發(fā)送,這樣我們就可以通過對待測線路板上主口發(fā)送任意字節(jié)(不超過1000個字節(jié))數(shù)的數(shù)據(jù),查看是否有同樣字節(jié)的數(shù)接收,這樣就能確定發(fā)送接收不丟包點對點的測試,完成客戶要求。圖6是我們測試的一個樣圖。

      圖4 發(fā)送數(shù)據(jù)程序框圖

      圖6 系統(tǒng)調(diào)試圖

      4 結(jié)束語

      本集線器工作過程很簡單,很實用,性價比高。集線器種類很多,客戶需求也各不一樣,這就要求我們集線器要不斷調(diào)整功能,滿足客戶的需求。

      猜你喜歡
      集線器發(fā)送數(shù)據(jù)波特率
      移動自組網(wǎng)中MAC層協(xié)議研究
      音樂聆賞新世代 Bowers & Wilkins Formation Audio無線音樂集線器
      CAN 總線波特率自適應程序設計
      智能制造(2020年5期)2020-07-03 06:24:00
      基于馬爾科夫鏈的LoRaWAN網(wǎng)絡節(jié)點性能分析
      帶標記方式的CRDSA++協(xié)議性能分析*
      基于FPGA的異步串行通信波特率容錯設計
      電子測試(2018年7期)2018-05-16 06:27:18
      使用IPSec安全傳輸數(shù)據(jù)
      Microchip拓寬USB3.0集線器應用范圍
      Microchip推出具有FlexConnect功能的新型智能集線器,拓寬USB 3.0集線器的應用范圍
      C*Core芯片SCI串口波特率容限優(yōu)化
      南丹县| 贵港市| 盈江县| 都安| 阿鲁科尔沁旗| 洮南市| 普定县| 黔东| 黑龙江省| 瓦房店市| 樟树市| 中西区| 漠河县| 禄丰县| 定兴县| 辉南县| 横峰县| 新龙县| 尼勒克县| 崇明县| 商丘市| 墨脱县| 玛沁县| 海原县| 巴马| 淮阳县| 东莞市| 化州市| 新化县| 治多县| 洛浦县| 康定县| 凤城市| 黎城县| 玛纳斯县| 枣庄市| 建湖县| 平安县| 孟津县| 拜泉县| 元阳县|