欧美在线专区-欧美在线伊人-欧美在线一区二区三区欧美-欧美在线一区二区三区-pornodoxxx中国妞-pornodoldoo欧美另类

position>home>Softball

基于STM32的IO設備模擬器設計

[導讀]摘 要:為解決實驗室某些海洋觀測類IO設備價格昂貴、基于計體積較大、設備數量較少的模擬問題,文中設計了一款IO設備模擬器。器設IO模擬器是基于計一款模擬IO設備指令與相應響應的模塊,系統以STM32F103為主控制器件,設備將Keil MDK-ARM作為軟件平臺,模擬 通過學習實際IO設備的器設指令與響應,模擬出實際IO設備的基于計通信協議。文中主要介紹了模擬器的設備硬件搭建及軟件設計。經實驗驗證,模擬該模擬器可在實驗室的器設系統聯合調試中代替實際設備,也可以解決實際設備數量不足的基于計問題。

引 言

近年來,設備各國為各自利益逐漸加強了海洋研究,模擬海洋觀測方法日趨多樣化,海洋觀測平臺成為研究海洋的重要途徑 [1]。海洋觀測平臺由MCU 控制,外圍接若干海洋設備終端,如采用溫鹽深儀傳輸海洋溫度、鹽度、壓力;多普勒流速剖面儀傳輸海流流速、流向等數據。一個成功的海洋觀測平臺的開發需要首先經過實驗室的聯合調試。

若干個課題組協同工作時,經常共同使用有限個設備終端,或者存在訂貨周期過長、設備出海等問題,導致聯合調試時因某些設備缺位而延長系統調試周期,而模擬器可以較好地解決這些問題。此模擬器無需深入了解設備的通信協議與響應數據格式,只需對實際設備實現一次操作,即可學習實際設備的通信協議,最終達到代替實際設備參與系統調試的目的。

1 總體設計

系統總體結構如圖 1 所示。

基于STM32的IO設備模擬器設計

本文設計的模擬器由STM32F103 微處理器模塊、供電模塊、LED 燈指示模塊、存儲模塊、串口模塊、按鍵構成。 按鍵用于系統硬件復位,撥動開關選擇系統工作模式,LED 燈指示系統的運行狀態,存儲模塊用于存儲系統數據,防止 掉電丟失。其工作方式分為兩種,一種是學習實際設備的指令 與響應及實際設備收到指令與發出響應的時間間隔,學習數據 存入 FLASH ;另一種是模擬實際設備,在收到上位機指令后, 通過字符匹配 FLASH 中的指令,延長實際設備收到指令與發 出響應的時間間隔,回復與指令對應的響應。模擬器工作簡圖 如圖 2 所示。

基于STM32的IO設備模擬器設計

2 硬件設計

基于STM32的IO設備模擬器設計

2.1 存儲模塊

STM32F103 內核為 Cortex-M3,采用 ARM V7 構架,是 現今性價比最高的一款 ARM 微控制器,最高工作頻率可達 72 MHz,該芯片具有 64 kB SRAM,512 kB FLASH,擁有快 速的中斷處理 [3]。本設計使用了芯片的 USART1、USART3、 Timer3、Timer7 及 SPI 接口。

串行外圍設備接口(Serial Peripheral Interface,SPI)是 一種全雙工,高速、同步的通信總線,在芯片的管腳上只占 用四根線。本設計使用 STM32F103 自帶的 SPI 來實現對外部 FLASH(W25Q128)的讀寫操作 [4]。如圖 3 所示,W25Q128 是華邦公司推出的大容量 SPI FLASH 產品,容量為 128 Mb, 即 16 MB,可用于存儲字庫和其他用戶數據,系統掉電后數 據不丟失,滿足了本設計的數據存儲要求。設置 SPI 為全雙 工、主機模式、8 位幀格式傳輸,高位在前,具有 CRC 校 驗功能 [5]。SPI 波特率預分頻值為 256 分頻,傳輸速度為36 MHz/256=140.625 kHz。

基于STM32的IO設備模擬器設計

2.2 串口通訊部分設計

儀器通訊通常采用串行通信和并行通信兩種方式[6]。串行通信方式具有使用線路少、成本低的優點,在遠程傳輸時, 避免了多條線路特性的不一致而被廣泛采用 [7]。計算機和單片機都具有串行接口,可以完成上位機與模擬器、模擬器與實際設備之間的通訊任務。如圖 4所示,模擬器串口1可以實現兩種不同的通訊模式,通過跳線帽或者撥動開關選擇相應的通信方式,即 RS232,RS485,理論上可實現不僅限于海洋儀器的模擬,具備較強的延伸性。

基于STM32的IO設備模擬器設計

此設計使用 SP3232 芯片作為 TTL 轉 RS 232 芯片。數據 傳輸速率最高為 20 kb/s,最大距離為 15 m。可供兩路串口共 同使用,接口為延伸通訊接口,可同時使用 DB-9 與三線制連 接法,兩者均使用 RXD、TXD、GND 三條信號線,程序設 計中未使用握手信號,可直接發送和接收數據。RS 485 隸屬 于 OSI 模型物理層電氣特性的規定,為兩線、半雙工、多點 通信的標準。其電氣特性和 RS 232 不一樣,而是用纜線兩端的電壓差值來表示傳遞信號,通訊距離為 1 200 m[8]。本設計 使用 MAXIM 公司生產的 MAX3471,USART_RE 為發送使 能端,接 STM32 的 GPIOA_8,高電平發送數據,低電平接收 數據,接收和發送均由軟件控制。串口 3 與串口 1 的電路圖基 本相同,處于學習模式時與實際 IO 設備連接。

2.3 狀態控制部分設計

系統運行狀態由 STM32 的 GPIOE_3 的輸入邏輯電平控 制,連接外部三腳撥動開關,通過判斷該引腳的輸入邏輯電 平來決定模擬器的工作方式,電平狀態改變則系統工作狀態 改變。運行狀態指示燈(紅色 LED 燈)連接引腳 GPIOB_5, 系統運行狀態不同則指示燈閃爍運行方式改變。

2.4 供電設計

供電電路采用電平轉換芯片 AMS1117-3.3,這是一個 5 V 轉 3 V 穩壓電源芯片,內部集成有過熱保護與限流電路。通過 該芯片,可以實現對模擬器的 3.3 V 供電與 5 V 供電,同時也 可以使用 USB 供電,保證了模擬器在多供電環境的使用。供 電模塊還具有供電狀態指示燈(藍色 LED 燈)。

3 系統軟件設計

(1)程序初始化:初始化包括串口初始化,定時器初始化, W25Q128 初始化。程序中加入了看門狗,可防止系統因外界 環境的干擾而出現程序跑飛的現象 [9]。為保證模擬器正常穩定 地工作,程序采用輪詢方式確定是否改變模擬器的工作狀態。

(2) 定 時 器 在串口通信中的 軟件 設 計:USART1 和 USART3 采用中斷接收字符方式共同使用 Timer7,通過判斷 接收到的兩個字符間的時間差來斷定是否為連續的數據 [10]。 Timer7 是 STM32F103 自帶的兩個基本定時器之一,定時器中 斷優先級為 0,高于串口優先級,采用由下至上的計數方式, 10 ms 進入一次定時器中斷,定時器中斷中串口接收標記設 置為接收完成,兩個字節接收時間間隔小于 10 ms 即認為這 兩個字節屬于同一字符串,通過定時器來判斷接收的字節是 否屬于同一次數據,避免兩次數據間的干擾。將 USART1 和 USART3 接嵌入式模塊。Timer3 是通用定時器,在本設計中 用來記錄 USART1 開始透傳數據至 USART3 到 USART3 收 到外部數據之間的時間間隔,即實際設備的響應時間,定時器 中斷每隔 1 s 進入一次,在中斷時間間隔執行自加操作,以一 定的格式將時間間隔寫入 FLASH 保存,便于后續讀取。

(3)為了保證上位機指令與設備響應正常匹配,W25Q128 中的數據存儲格式如圖 5 所示。

基于STM32的IO設備模擬器設計

模擬器模擬設備時析出有效數據,程序流程如圖 6 所示。

基于STM32的IO設備模擬器設計

4 結 語

本設計以模擬美國 TELEDYN 分析儀表公司的多普勒流 速剖面儀(ADCP)以及 Sea-Bird 公司的 SBE39-IM 型溫鹽深 儀為例,實現了對這些實際儀器IO功能的模擬。通過實驗檢驗, 成功實現了實驗室環境下模擬器代替 ADCP 在定時衛星通信 系統中的作用以及代替 SBE39-IM 型溫鹽深儀在電磁耦合浮標 系統中的作用。


Popular articles

主站蜘蛛池模板: 视频一区在线| 狠狠噜噜| 三级毛片在线免费观看| 精品国产v无码大片在线观看| 公用玩物(np双xing总受)by单唯安| 夜夜影院未满十八勿进| 国产高清中文字幕| 亚洲欧美日韩综合在线播放| 99热99re8国产在线播放| 国产原创中文字幕| 日日干日日| 亚洲精品国产精品国自产观看| 免费床戏全程无遮挡在线观看 | 国产换爱交换乱理伦片| 亚洲有码转帖| 欧美妈妈的朋友| 性xxxxhd高清| 里番本子侵犯肉全彩| 一区二区高清视频在线观看| 在线黄色毛片| 国产在线高清视频无码| 波多野结衣丝袜美腿| 亚洲无限资源| aaa毛片免费观看| 好吊妞视频这里有精品| 韩国三级一区| 成人免费观看高清在线毛片 | 国内午夜免费鲁丝片| 日本人与黑人videos系列| 狠狠色综合色综合网络| 娇妻的大杂交| 一级大黄色片| 国产成人免费网站| 日本阿v视频在线观看| 性高湖久久久久久久久aaaaa| 欧美精品亚洲精品 | 在线www| 无翼乌本子| 欧美日韩国产人成在线观看 | 国产乱视频| 日本老师和同学xxxx|