資料介紹
通信接口背景知識?
設備之間通信的方式?
一般情況下,設備之間的通信方式可以分成并行通信和串行通信兩種。并行與串行通信的區別如下表所示。
串行通信的分類?
1、按照數據傳送方向,分為:
- 單工:數據傳輸只支持數據在一個方向上傳輸;
- 半雙工:允許數據在兩個方向上傳輸。但是,在某一時刻,只允許數據在一個方向上傳輸,它實際上是一種切換方向的單工通信;它不需要獨立的接收端和發送端,兩者可以合并一起使用一個端口。
- 全雙工:允許數據同時在兩個方向上傳輸。因此,全雙工通信是兩個單工通信方式的結合,需要獨立的接收端和發送端。
2、按照通信方式,分為: 在同步通訊中,收發設備上方會使用一根信號線傳輸信號,在時鐘信號的驅動下雙方進行協調,同步數據。例如,通訊中通常雙方會統一規定在時鐘信號的上升沿或者下降沿對數據線進行采樣。 在異步通訊中不使用時鐘信號進行數據同步,它們直接在數據信號中穿插一些用于同步的信號位,或者將主題數據進行打包,以數據幀的格式傳輸數據。通訊中還需要雙方規約好數據的傳輸速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。 在同步通訊中,數據信號所傳輸的內容絕大部分是有效數據,而異步通訊中會則會包含數據幀的各種標識符,所以同步通訊效率高,但是同步通訊雙方的時鐘允許誤差小,稍稍時鐘出錯就可能導致數據錯亂,異步通訊雙方的時鐘允許誤差較大。?
常見的串行通信接口
STM32串口通信基礎?
STM32的串口通信接口有兩種,分別是:UART(通用異步收發器)、USART(通用同步異步收發器)。而對于大容量STM32F10x系列芯片,分別有3個USART和2個UART。?
UART引腳連接方法
- RXD:數據輸入引腳,數據接受;
- TXD:數據發送引腳,數據發送。
對于兩個芯片之間的連接,兩個芯片GND共地,同時TXD和RXD交叉連接。這里的交叉連接的意思就是,芯片1的RxD連接芯片2的TXD,芯片2的RXD連接芯片1的TXD。這樣,兩個芯片之間就可以進行TTL電平通信了。
若是芯片與PC機(或上位機)相連,除了共地之外,就不能這樣直接交叉連接了。盡管PC機和芯片都有TXD和RXD引腳,但是通常PC機(或上位機)通常使用的都是RS232接口(通常為DB9封裝),因此不能直接交叉連接。RS232接口是9針(或引腳),通常是TxD和RxD經過電平轉換得到的。故,要想使得芯片與PC機的RS232接口直接通信,需要也將芯片的輸入輸出端口也電平轉換成rs232類型,再交叉連接。 經過電平轉換后,芯片串口和rs232的電平標準是不一樣的:
- 單片機的電平標準(TTL電平):+5V表示1,0V表示0;
- Rs232的電平標準:+15/+13 V表示0,-15/-13表示1。
所以單片機串口與PC串口通信就應該遵循下面的連接方式:在單片機串口與上位機給出的rs232口之間,通過電平轉換電路(如下面圖中的Max232芯片) 實現TTL電平與RS232電平之間的轉換。
RS232串口簡介 臺式機電腦后面的9針接口就是com口(串口) 在工業控制 數據采集上應用廣泛上圖中,最右邊的是串口接口統稱為RS232接口,是常見的DB9封裝。 ?
通信過程中只有兩個腳參與通信。
- 2腳:電腦的輸入RXD
- 3腳:電腦的輸出TXD 通過2 ,3 腳就可以實現全雙工(可同時收發)的串行異步 通信
- 5腳:接地
單片機的電平標準 TTL電平 :+5V表示1 0V表示0。 RS232的電平標準 +15/+13 V表示1 -15/-13 表示0。 所以 單片機與電腦串口通信就應該遵循下面的連接方式: 在單片機與上位機給出的rs232口之間 通過電平轉換電路(最上面圖中的Max232芯片) 實現TTL電平與RS232電平之間的轉換,PC串口與單片機串口連接方式圖:
注意這兩個DB9:DB91是在電腦上的 DB92是在單片機實驗板上焊接著的。 這里的交叉連接的意思是 DB91的RXD連著DB92的TXD。
DB92的RXD連著DB91的TXD這樣交叉著連接,如果電腦沒有RS232口 只有USB口,可以用串口轉接線轉出串口,如下圖所示。
?
這個時候在電腦上位機上需要安裝串口驅動程序。 注意,這個驅動程序驅動的是PL2303芯片(在上圖的大頭里面) 使得RS232信息轉換成USB信息。 下圖為上圖的內部結構: ?
用串口通信比USB簡單,因為串口通信沒有協議,使用方便簡單。?
STM32的UART特點
- 全雙工異步通信;
- 分數波特率發生器系統,提供精確的波特率。發送和接受共用的可編程波特率,最高可達4.5Mbits/s;
- 可編程的數據字長度(8位或者9位);
- 可配置的停止位(支持1或者2位停止位);
- 可配置的使用DMA多緩沖器通信;
- 單獨的發送器和接收器使能位;
- 檢測標志: ① 接受緩沖器 ②發送緩沖器空 ③傳輸結束標志;
- 多個帶標志的中斷源,觸發中斷;
- 其他:校驗控制,四個錯誤檢測標志。
STM32中UART參數?
串口通訊的數據包由發送設備通過自身的TXD接口傳輸到接收設備的RXD接口,通訊雙方的數據包格式要規約一致才能正常收發數據。???? STM32中串口異步通信需要定義的參數:起始位、數據位(8位或者9位)、奇偶校驗位(第9位)、停止位(1,15,2位)、波特率設置。 UART串口通信的數據包以幀為單位,常用的幀結構為:1位起始位+8位數據位+1位奇偶校驗位(可選)+1位停止位。如下圖所示:
奇偶校驗位分為奇校驗和偶校驗兩種,是一種簡單的數據誤碼校驗方法。奇校驗是指每幀數據中,包括數據位和奇偶校驗位的全部9個位中1的個數必須為奇數;偶校驗是指每幀數據中,包括數據位和奇偶校驗位的全部9個位中1的個數必須為偶數。 校驗方法除了奇校驗(odd)、偶校驗(even)之外,還可以有:0 校驗(space)、1 校驗(mark)以及無校驗(noparity)。?0/1校驗:不管有效數據中的內容是什么,校驗位總為0或者1。
UART(USART)框圖?
這個框圖分成上、中、下三個部分。本文大概地講述一下各個部分的內容,具體的可以看《STM32中文參考手冊》中的描述。 框圖的上部分,數據從RX進入到接收移位寄存器,后進入到接收數據寄存器,最終供CPU或者DMA來進行讀取;數據從CPU或者DMA傳遞過來,進入發送數據寄存器,后進入發送移位寄存器,最終通過TX發送出去。 然而,UART的發送和接收都需要波特率來進行控制的,波特率是怎樣控制的呢? 這就到了框圖的下部分,在接收移位寄存器、發送移位寄存器都還有一個進入的箭頭,分別連接到接收器控制、發送器控制。而這兩者連接的又是接收器時鐘、發送器時鐘。也就是說,異步通信盡管沒有時鐘同步信號,但是在串口內部,是提供了時鐘信號來進行控制的。而接收器時鐘和發送器時鐘有是由什么控制的呢? 可以看到,接收器時鐘和發送器時鐘又被連接到同一個控制單元,也就是說它們共用一個波特率發生器。同時也可以看到接收器時鐘(發生器時鐘)的計算方法、USRRTDIV的計算方法。
- STM32串口通信
- STM32串口1通訊實驗程序下載 83次下載
- stm32串口代碼詳解
- "2個STM32串口之間的串口通信(RX,TX)"
- STM32串口下載程序
- Stm32串口通信基礎實驗
- STM32串口通信
- STM32串口下載程序
- STM32串口DMA容易忽視的問題資料下載
- 串口的循環隊列是什么?(以STM32串口為例)資料下載
- STM32串口下載軟件應用程序免費下載 7次下載
- STM32串口下載軟件FLYMCU免費下載 33次下載
- ISP下載器MCUISP用于STM32串口下載程序的應用程序免費下載 23次下載
- stm32f407串口通信的代碼 0次下載
- stm32串口調試軟件 6次下載
- ZDP1440串口屏應用開發如何使用虛擬串口調試 1406次閱讀
- STM32串口發送數據和接收數據方式總結 6564次閱讀
- stm32串口奇偶校驗 1w次閱讀
- 飛凌嵌入式USB轉4串口介紹 2570次閱讀
- 天嵌科技TTL轉RS232串口-串口模塊簡介 3458次閱讀
- 沁恒股份PCI總線四串口芯片: CH355概述 2221次閱讀
- 如何在STM32串口通信程序中使用printf發送數據 8025次閱讀
- 基于STM32單片機的串口使用解析 5158次閱讀
- STM32串口通信數據亂碼的相關問題 1.1w次閱讀
- rs232介紹_rs232串口通信程序 1.1w次閱讀
- stm32串口通信用printf發送數據配置 4270次閱讀
- STM32串口DMA問題詳解 8288次閱讀
- dm500串口刷機軟件img文件下載_教程完整版詳解 8359次閱讀
- RS 232串口通信在PC機與單片機通信中的應用 6737次閱讀
- 一種232串口轉紅外通訊的電路設計 6077次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多