999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

串口通訊方式綜述

2020-12-04 08:16:23史偉
銀幕內外 2020年6期

摘要:為了實現 PC 機與單片機 的實時監測與數據的獲取,本文介紹了STC89C51、STM32、FPGA與計算機之間的通訊。上面3個工控機與計算機之間的通訊。上面3個工控機與計算機之間的通訊都采用全雙工串行異步通訊方式。

關鍵詞:STC89C51;LabVIEW STM32;LabVIEW FPGA

一、引言

隨著工業的發展,計算機與工控機之間的通訊方式顯得格外重要。本文主要介紹了計算機與STC89C51單片機、STM32 單片機、FPGA之間的通訊方式。通過實際連接計算機與開發板,并將程序燒錄到開發板,打開串口調試助手進行現場調試。

二、各種通訊方式的實現

(一)計算機與51單片機通訊

51單片機的串行口支持全雙工,功能齊全,可以在同一時刻進行數據的發送和接收。51單片機的串行口主要由數據緩沖寄存器SBUF、發送控制器、接收控制器、輸入移位寄存器和很多邏輯門電路構成。

80C51的串行口控制器SCON,字節地址為98H,可以進行位尋址。SCON串行口控制器可以用來設置串口工作方式、接受/發送控制等。51單片機在進行復位時SCON控制器都被清零。控制器中的SM0和SM1為工作方式選擇位,可選擇4種工作方式。

在操作51單片機串行口之前,需要對51單片機與串口相關的特殊功能寄存器進行初始化操作,包括設置產生波特率的定時器1、串口控制和中斷控制。編程思想如下:

1.設置T1的工作方式;

2.求出初值T1,算出TH1,TL1;

3.開啟T1;

4.據情況設置串行口工作方式;

5.串口如果用到中斷,要進行中斷相關的設置。

把程序燒錄到51單片機,打開串口調試助手后,串口界面顯示和開發板試驗現象如下圖1所示。

(二)計算機與STM32之間通訊

RS232底層協議較復雜,使用傳統的STM32庫函數開發比較繁瑣。這里使用NI公司的LabVIEW軟件,它所提供的狀態機框架可以貫穿RS232通信協議。由于STM32單片機本身已經實現了底層串口收發線程,使用時在收發緩沖區中讀寫字節數即可。NI公司的VISA驅動包實質上是把大多數儀器儀表領域的通信協議集成在一起,使得儀器通信變得簡單了許多。VISA函數是一種運行在上位機(電腦),經過封裝的多狀態VI。后面編寫串口程序時,使用了和STM32芯片對應的串口函數,COM口有5個,且每個之間互不干擾,每個COM口都有對應1KB的接收緩沖區。這種串口適用于需要多路串口并行工作的場合。

STM32單片機提供了5路串行接口(COM1-COM5),本實驗使用了STM32單片機的COM1接口,從而進行與上位機的串口通信。由于現在很多筆記本電腦上集成了很多USB口,所以STM32F407單片機開發板上與之對應也做了一片串口轉 USB 芯片,此芯片的作用是將串口COM1由DB9轉換成 MiniUSB口。因此后面客戶使用時,只需要一根 Mini USB 傳輸線就可以實現上位機(電腦)與下位機(STM32開發板)的串口連接,通過串口調試助手進行兩者間的通信。

本文利用LabVIEW編寫串口程序,在RS232驅動實現上,只需要6個基本操作函數即可完成程序編寫,分別為串口初始化、串口接收緩沖區字節數、串口寫入、串口讀取、清除串口緩沖區、串口關閉。

利用LabVIEW編寫的主程序框圖和其串口助手收到的數據如圖2所示。

(三)計算機與FPGA通訊

如今很多筆記本上沒有傳統DB9(RS232)接口,因此本次實驗選擇了黑金 AX7035 開發板。開發板上載了一顆 Silicon Labs 公司的 CP2102GM 芯片將串口變成 USB 口。在 FPGA學習板上我們則是采用 WCH340G 芯片作為 USB轉串口的橋梁。為了節約板子面積,左上角的 USB 口選擇的是 Mini USB 貼片型的封裝,也就是很早以前那種傳統的 MP3 接口,用戶可以用開發板配套的 Mini USB 線纜,連接開發板至 PC進行串口通信。

對于 FPGA 芯片來說,內部沒有集成串口收發器,因此,我們需要根據串口通信的時序圖,利用LabVIEW語言來模擬一個串口收發器。由于 FPGA 的運行頻率可以做到很高,因此可以通過時鐘軟件分頻的方式實現不同的波特率。FPGA 內部模擬的是串口收發器協議,外部加一個電平轉換芯片就可以實現 RS232 通信。由于 FPGA 非常容易實現多線程,因此,多線程之間的數據傳輸和交互就非常重要,推薦用戶使用 FIFO,也就是先入先出緩沖區,經過合理的數值設置后,可以使得數據不會丟失。關于FIFO 的使用方法非常重要。另外FPGA內部多個不同速率的模塊之間通信或者說是編程結構就是四線握手。下面采用調用EDF網表的方式來實現一個串口通信程序。

主VI里面用到的串口通信IP,是我們專門利用Vivado生成的edf格式的標準四線握手制接口的串口通訊IP核,類似C語言里的dll庫函數。為了加快程序的編譯,我們提前將VHDL版本的串口通信程序通過Vivado生成EDF格式的驅動文件,類似C語言里的DLL,然后再利用LabVIEW IP Block集成節點調用就可以了。利用EDF編寫的串口通訊程序框圖如圖3所示。

將程序生成的bit文件通過Vivado2014下載到FPGA開發板,打開串口調試助手,在面板上產生的接收區數據如圖4所示。三、結語

本文介紹了使用Keil2基于C語言對51單片機串口通訊程序進行編程以及使用LabVIEW編寫STM32和FPGA串口主程序框圖。每種程序給出了編寫思想及步驟。這些方法成功實現了計算機與工控機之間的通訊,并且它們之間的通訊良好。該方法方便、快捷、可靠,對大多數使用單片機的工業控制系統均適用,有較高的推廣價值。

參考文獻:

[1] 王電令,蘇亞輝,蘇彩虹.STM32開發實戰.LabVIEW卷[M].機械工業出版社,2016.

[2] 郭天祥.新概念51單片機C語言教程[M].電子工業出版社,2009.

[3] 林立,張俊亮.單片機原理及應用.第3版[M].電子工業出版社,2014.

作者簡介:史偉,男,安徽蚌埠人,2019級在讀研究生,研究方向:機械測試控制技術及應用。

主站蜘蛛池模板: 青青青国产视频| 亚洲国产成人精品无码区性色| 强乱中文字幕在线播放不卡| 日韩成人高清无码| 54pao国产成人免费视频| 综合成人国产| 国内精品视频区在线2021| 亚洲欧美日韩成人在线| 国产精品美乳| 青青操视频在线| 久久久精品无码一二三区| 精品综合久久久久久97| 久久先锋资源| 大乳丰满人妻中文字幕日本| AV色爱天堂网| 国产美女在线观看| 欧美在线黄| 在线精品欧美日韩| 91九色视频网| 色老二精品视频在线观看| 高清久久精品亚洲日韩Av| 欧美日韩国产在线人| 无码AV高清毛片中国一级毛片| 亚洲成a人片| 国产精品成人不卡在线观看| 毛片久久网站小视频| 狠狠色噜噜狠狠狠狠色综合久| 麻豆精品在线视频| 国产成人av大片在线播放| 国产极品粉嫩小泬免费看| 亚洲欧美不卡| 99九九成人免费视频精品| 伊人色综合久久天天| 91精品国产一区自在线拍| 亚洲国产看片基地久久1024| 日韩av高清无码一区二区三区| 国产亚洲欧美另类一区二区| 九九九精品成人免费视频7| 国产一区二区三区夜色| 国产精品人成在线播放| 999精品视频在线| 女人毛片a级大学毛片免费| 国产精品黑色丝袜的老师| 午夜视频www| 国产AV无码专区亚洲A∨毛片| 精品久久综合1区2区3区激情| av大片在线无码免费| 噜噜噜久久| 国产极品美女在线| 99激情网| 久久99国产综合精品女同| 欧美区国产区| 日本手机在线视频| 久青草免费在线视频| 国产无码精品在线| 免费一级毛片在线播放傲雪网| 亚洲无线国产观看| 午夜国产精品视频黄| 色偷偷一区二区三区| 国产69囗曝护士吞精在线视频| 国产精品大白天新婚身材| 狠狠亚洲五月天| 亚洲中文字幕日产无码2021| 日韩精品资源| 97久久精品人人| 女人av社区男人的天堂| 亚洲另类国产欧美一区二区| 无码aaa视频| 日韩黄色大片免费看| 欧亚日韩Av| 久久国产精品波多野结衣| 欧美福利在线| 国产成人免费| 国产成人1024精品下载| 国产高清在线观看| 亚洲美女久久| 欧美日韩精品一区二区在线线| 91小视频在线观看| 久久99国产综合精品女同| 99视频国产精品| 国产高清自拍视频| 国产成人精品一区二区不卡|