国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

STM32單片機多串口通信仿真測試技術(shù)研究※

2015-11-23 02:35:27郭勇何軍
關(guān)鍵詞:接收數(shù)據(jù)發(fā)送數(shù)據(jù)中斷

郭勇,何軍

(南京北方信息控制集團有限公司產(chǎn)品研發(fā)中心,南京 211153)

STM32單片機多串口通信仿真測試技術(shù)研究※

郭勇,何軍

(南京北方信息控制集團有限公司產(chǎn)品研發(fā)中心,南京 211153)

使用STM32單片機進行多串口通信,采用虛擬串口軟件(VSPD)結(jié)合串口調(diào)試軟件進行多串口通信發(fā)送和接收功能的仿真測試研究,克服了RealView軟件不能仿真接收通信的缺點。介紹了虛擬串口和仿真串口的綁定方法,給出了各模塊的軟件代碼。仿真測試結(jié)果表明,采用該方法,可以在沒有硬件平臺的情況下,完成基于STM32多串口收發(fā)通信的軟件開發(fā)應用。

STM32;多串口;虛擬串口軟件;仿真測試;串口調(diào)試軟件

引 言

STM32單片機是基于高性能Cortex-M3內(nèi)核的32位單片機,其外設功能強大,最大工作頻率為72MHz。本文選用的STM32103VET6芯片,有5個USART、3個SPI口、2個I2C接口,便于產(chǎn)品與上位機的通信。采用基于庫函數(shù)的編程方法,能很快地進行產(chǎn)品開發(fā)。

本文采用基于RealView、VSPD(虛擬串口)和串口調(diào)試軟件的聯(lián)合仿真調(diào)試技術(shù),可以在沒有硬件平臺的情況下,完成多串口收發(fā)通信軟件的開發(fā)和測試。

1 多串口通信的軟件設計原理

使用STM32的USART1~USART3。在不進行引腳重映射的情況下,USART1_Tx引腳為PA9,USART1_Rx引腳為PA10,USART2_Tx引腳為PA2,USART2_Rx引腳為PA3,USART3_Tx引腳為PB10,USART3_Rx引腳為PB11。

軟件的設計采用模塊化,包括RCC時鐘配置模塊、NVIC中斷向量配置模塊、USART1~USART3引腳配置模塊、USART1~USART3初始化模塊,USART1~USART3通信模塊等。軟件流程圖如圖1所示。

1.1 RCC時鐘設置模塊

采用8MHz外部晶振作為PLL時鐘,再倍頻到72MHz。該時鐘作為系統(tǒng)時鐘,待系統(tǒng)時鐘穩(wěn)定后,再進行各模塊時鐘的分配。時鐘初始化函數(shù)為void RCC_Configuration(void),代碼如下:

圖1 軟件流程圖

1.2 UASRT通信引腳配置模塊

采用全雙工通信,STM32單片機功能引腳由GPIO引腳進行映射,僅給出USART1_Tx和USART1_Rx引腳配置的軟件代碼,USART2 和USART3的引腳配置類似。代碼如下:

1.3 NVlC中斷向量配置模塊

NVIC是向量中斷控制器,用來控制多個中斷向量的優(yōu)先級,在NVIC中設置USART1中斷為最高優(yōu)先級,USART2次之,USART3中斷優(yōu)先級最低。本文設置發(fā)送為順序發(fā)送,接收為中斷響應接收。代碼如下:

USART1~USART3的搶占優(yōu)先級相同,USART1的從優(yōu)先級值最小,所以USART1的優(yōu)先級別最高。

1.4 USART的通信配置模塊

采用全雙工通信,對USART1進行配置,USART1的波特率為115 200b/s,數(shù)據(jù)位為8位,停止位1位,無校驗位,無流量控制,接收、發(fā)送使能,采用接收中斷方式,USART2和USART3的配置類似。

1.5 USART的中斷接收模塊

在該中斷響應函數(shù)中,當USART1接收事件完成時,產(chǎn)生中斷信號,通知微處理器進行串口通信的接收處理。

當USART2和USART3產(chǎn)生接收中斷時,進入相應的中斷函數(shù)進行處理。

2 虛擬串口和仿真串口的綁定

傳統(tǒng)的USART調(diào)試必須有相應的開發(fā)板,連接開發(fā)板的串口和上位機的串口,開發(fā)軟件RealView MDK在調(diào)試時,有3個串口的仿真輸出窗口(UART#1、UART #2、UART#3),但這3個窗口只能仿真串口輸出,不能仿真串口的接收通信。采用虛擬串口軟件VSPD(Virtual Serial Port Driver),可以虛擬出多對串口,如圖2所示。分別把每一對虛擬串口中的一個與STM32單片機的每個串口進行綁定,就可以進行串口的通信仿真測試。

圖2 產(chǎn)生的3對虛擬串口

用VSPD軟件虛擬了3對串口,分別是COM4和COM5,COM6和COM7,COM8和COM9。COM4發(fā)送數(shù)據(jù)時,COM5接收數(shù)據(jù),反之亦然。為了仿真STM32單片機3個串口的收發(fā)通信,把UART1和COM4綁定在一起,把UART2和COM6綁定在一起,把UART3和COM8綁定在一起。因為虛擬串口COM4和COM5互相通信,所以用COM5發(fā)數(shù)據(jù),可以模擬串口COM4的中斷接收數(shù)據(jù)。配置文件為COM4_OUT.txt,把后綴名改為.ini。內(nèi)容如下:

文件的作用是配置COM4的波特率為115 200b/s,8個數(shù)據(jù)位,1個停止位,無校驗位。把COM4和STM32的第一個串口綁定在一起,配置COM6的波特率與COM4一樣,綁定COM6和STM32的第二個串口在一起,依次類推。把COM4_OUT.ini文件放在工程文件中,編譯后,就可以利用RealView MDK軟件和串口調(diào)試軟件進行串口的通信仿真測試。

3 USART通信發(fā)送、接收數(shù)據(jù)測試

3.1 發(fā)送數(shù)據(jù)測試

設置3個發(fā)送數(shù)組:uart1_tx[64]、uart2_tx[64]、uart3_tx[64]。因為COM4和COM5相連接,當COM4發(fā)送數(shù)據(jù)時,COM5接收數(shù)據(jù),由圖3可知,當COM4發(fā)送數(shù)組uart1_tx[64]的數(shù)據(jù)時,COM5的接收區(qū)正確顯示數(shù)組uart1_tx[64]的數(shù)據(jù)。

圖3 COM5接收數(shù)據(jù)測試

COM8和COM9相連,由圖4可知,COM9的接收區(qū)能夠正確顯示數(shù)組uart3_tx[64]的數(shù)據(jù)。

圖4 COM9接收數(shù)據(jù)測試

3.2 接收數(shù)據(jù)測試

用uart1_rx[64]、uart2_rx[64]、uart3_rx[64]分別模擬COM4、COM6和COM8中斷接收數(shù)據(jù),這時COM5、 COM7和COM9分別發(fā)出數(shù)據(jù)。該實驗用于測試多串口中斷接收通信的準確率。

COM5發(fā)送數(shù)據(jù)測試略——編者注。uart1_rx[64]正確接收到COM5發(fā)出的64個數(shù)據(jù),表明COM4中斷接收數(shù)據(jù)正確。

uart2_rx[64]正確接收到COM7發(fā)送的64個數(shù)據(jù),表明COM6和COM7串口通信正確COM7發(fā)送數(shù)據(jù)測試略——編者注。

結(jié) 語

針對目前廣泛使用的STM32單片機,提出了一種使用VSPD(虛擬串口)結(jié)合串口調(diào)試軟件進行多串口收發(fā)通信的仿真測試方法。本文詳細介紹了虛擬串口和仿真串口的綁定方法,給出了各模塊的軟件代碼,并給出了實驗結(jié)果。

該方法可以在沒有硬件平臺的條件下,精確地進行多個串口發(fā)送和接收通信的測試。測試結(jié)果表明,采用該方法可以很好地完成STM32多串口通信的測試。

編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www. mesnet.com.cn。

[1]李寧.基于MDK的STM32處理器開發(fā)應用[M].北京:北京航空航天大學出版社,2008.

[2]喻金錢,喻斌.STM32F系列ARM Cortex-M3核微控制器開發(fā)與應用[M].北京:清華大學出版社,2011.

[3]劉波文.ARM Cortex-M3應用開發(fā)實例詳解[M].北京:電子工業(yè)出版社,2011.

[4]張愛民,王云沼.STM32微控制器的可靠串口通信技術(shù)研究[J].單片機與嵌入式系統(tǒng)應用,2013,10(2):21-24.

[5]陳宮,王三勝,張慶榮,等.基于STM32F103VCT6的微位移控制系統(tǒng)設計[J].現(xiàn)代電子技術(shù),2012,35(3):144-147.

[6]勾慧蘭,劉光超.基于STM32的最小系統(tǒng)及串口通信的實現(xiàn)[J].工業(yè)控制計算機,2012,25(9):26-29.

[7]索云天,梁龍學,林沖鋒,等.基于STM32的多點溫度采集系統(tǒng)設計[J].蘭州交通大學學報,2013,32(6):61-63.

[8]薛震宇.基于虛擬串口的嵌入式系統(tǒng)測試卡設計[J].儀表技術(shù),2008,10(2):54-58.

[9]孫林軍,賀鋒濤.基于STM32F103控制液晶的接口實現(xiàn)[J].電視技術(shù),2013,37(1):77-79.

郭勇(高級工程師),主要研究方向為調(diào)制解調(diào)、信道糾錯編解碼、無線通信中的信號處理等;何軍(高級工程師),主要研究方向為軍用無線通信系統(tǒng)設計、軍用無線組網(wǎng)設計等。

Research on Multi-USART Communication Simulation and Test Technology of STM32※

Guo Yong,He Jun
(Research Department of North Information Control Group Co.,Ltd.,Nanjing 211153,China)

The paper uses the STM32MCU to accomplish the multi-USART communication.It makes use of the VSPD software and USART debugging software to finish the serial communication for sending and receiving,and it overcomes the shortcoming of RealView software which can not simulate the receiving communication.The paper introduces the method of binding dummy USART and simulation USART,and gives the software codes of all modules.The simulation experimental results show that the technology can complete the software development and application based on the STM32multiport serial transceiver communications in the absence of the hardware platform.

STM32;multi-USART;VSPD;simulation test;USART debugging software

TN911.12

A

??楊迪娜

2015-01-28)

猜你喜歡
接收數(shù)據(jù)發(fā)送數(shù)據(jù)中斷
移動自組網(wǎng)中MAC層協(xié)議研究
沖激噪聲背景下基于幅度預處理的測向新方法*
低復雜度多輸入多輸出雷達目標角度估計方法
基于馬爾科夫鏈的LoRaWAN網(wǎng)絡節(jié)點性能分析
帶標記方式的CRDSA++協(xié)議性能分析*
跟蹤導練(二)(5)
千里移防,衛(wèi)勤保障不中斷
解放軍健康(2017年5期)2017-08-01 06:27:44
使用IPSec安全傳輸數(shù)據(jù)
單片機模擬串口數(shù)據(jù)接收程序的實現(xiàn)及優(yōu)化
AT89C51與中斷有關(guān)的寄存器功能表解
呈贡县| 泗水县| 保亭| 平度市| 溧阳市| 湖州市| 定边县| 孟津县| 桐梓县| 方山县| 灵川县| 鄯善县| 高唐县| 莱州市| 文登市| 武义县| 海安县| 洞头县| 土默特左旗| 昌宁县| 隆回县| 罗源县| 静乐县| 九龙城区| 虹口区| 隆尧县| 盐源县| 宝丰县| 淳化县| 阳春市| 顺平县| 湖南省| 习水县| 周宁县| 临沧市| 北辰区| 中西区| 洪泽县| 江山市| 榆社县| 博乐市|