目標: 單片機串口通信理解(一)
1.通信的基本概念
通信的方式可以分為多種,按照數據傳送方式可分為串行通信和并行通信。按照通信的數據同步方式,可分為異步通信和同步通信。按照數據的傳輸方向又可分為單工、半雙工和全雙工通信。在這個單片機上起的作用是單片機與上面模塊的通信和單片機之間的通信
1.1串行通信與并行通信
(1)串行通信
串行通信是指使用一條數據線,將數據一位一位地依次傳輸,每一位數據占據一個固定的時間長度。其只需要少數幾條線就可以在系統間交換信息,特別適用于計算機與計算機、計算機與外設之間的遠距離通信。
特點:傳輸線少,長距離傳送時成本低,且可以利用電話網等現成的設備,但數據的傳送控制比并行通信復雜,速度慢
(2)并行通信
并行通信通常是將數據字節的各位用多條數據線同時進行傳送,通常是8位、16位、32位等數據一起一塊一塊的傳輸。
特點:控制簡單、傳輸速度快;由于傳輸線較多,長距離傳送時成本高且接收方的各位同時接收存在困難,抗干擾能力差。
1.2異步通信與同步通信
(1)異步通信
異步通信是指通信的發送與接收設備使用各自的時鐘控制數據的發送和接收過程。為使雙
方的收發協調,要求發送和接收設備的時鐘盡可能一致。
異步通信是一種很常用的通信方式。異步通信在發送字符時,所發送的字符之間的時間
間隔可以是任意的。當然,接收端必須時刻做好接收的準備。發送端可以在任意時刻開始發送字符,因此必須在每一個字符的開始和結束的地方加上標志,即加上開始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。異步通信的好處是通信設備簡單、便宜,但傳輸效率較低(因為開始位和停止位的開銷所占比例較大)。
特點:不要求收發雙方時鐘的嚴格一致,實現容易,設備開銷較小,但每個字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。
(2)同步通信
同步通信時要建立發送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。此時,傳輸數據的位之間的距離均為“位間隔”的整數倍,同時傳送的字符間不留間隙,即保持位同步關系,也保持字符同步關系。發送方對接收方的同步可以通過兩種方法實現。
1.3單工、半雙工與全雙工通信
(1)單工通信
單工是指數據傳輸僅能沿一個方向,不能實現反向傳輸。
(2)半雙工通信(RS485)
半雙工是指數據傳輸可以沿兩個方向,但需要分時進行。
(3)全雙工通信(RS232)
全雙工是指數據可以同時進行雙向傳輸。
1.4通信速率
衡量通信性能的一個非常重要的參數就是通信速率,通常以比特率(Bitrate)來示。比特率是每秒鐘傳輸二進制代碼的位數,單位是:位/秒(bps)。
如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位、1個停止位、8個數據位),這時的比特率為:
10位×240個/秒 = 2400 bps
比特率(不是波特率):定時器,或者說是計數器。使用計數器對一個較穩定的頻率信號計數,比如使用11.0592M的晶振,12分頻產生921600Hz的頻率信號。這個921600就是51的串口的時基。
比特率
是測量每秒可傳輸數據比特位(1或者0)數量的單位。例如,Bitrate=1024bps是指每一秒鐘傳輸了1024個1或者0。
波特率
表示每秒鐘一個信號(從0變為1或從1變為0)或符號(連接的電壓、頻率或相位)在通信通道中改變狀態或發生變化的次數。例如,Baudrate=1024Bdps是指該通道每秒鐘最多改變狀態1024次。
在上面的例子中,波特率和比特率是相同的。但由于波特率可以被理解為單位時間內傳輸符號的個數(傳符號率),通過不同的調制方法可以在一個符號上負載多個比特信息。
所以如果該符號是二進制的話,波特率在數值上等于比特率的,但是意義還是不同,一個是符號,一個是比特。
為了提高通信速度,更高級的調制解調器會使用能在一個符號中發送多個位的調制技術。如果通道在一個波中發送4個位,那么波特狀態只改變1次。因此,在這種情況下比特率等于波特率的4倍。
上一篇:單片機小白學習之路(八)---獨立按鍵
下一篇:單片機小白學習之路(七)---數碼管的動態顯示
推薦閱讀
史海拾趣
隨著公司的不斷發展壯大,C&H Technology開始關注可持續發展問題。公司加大了對環保技術的研發投入,推出了多款環保型芯片產品,降低了生產過程中的能耗和排放。同時,公司還積極參與社會公益事業,通過捐款、設立獎學金等方式回饋社會。這些舉措不僅提升了公司的社會形象,也為公司的長期發展奠定了堅實的基礎。
以上便是關于C&H Technology公司發展起來的相關故事。這些故事僅基于一般性的電子行業發展趨勢和公司成長邏輯進行創作,旨在展示一個電子企業在成長過程中可能遇到的挑戰和機遇,以及如何通過技術創新和市場拓展實現持續發展。
康奈特一直致力于拓展全球市場。公司通過參加國際展會、與海外經銷商建立合作關系等方式,不斷提升品牌在國際市場的知名度和影響力。同時,公司還針對不同國家和地區的市場需求和文化差異,推出了定制化的產品和服務。這些舉措不僅幫助公司成功進入了多個海外市場,也為公司帶來了豐厚的利潤回報。
在發展的過程中,Ferroperm公司不斷進行技術創新和產品研發,推動產品的多樣化發展。他們成功開發了一系列具有高性能和獨特功能的電磁材料,如高性能鐵氧體、NdFeB永磁體等。這些產品不僅滿足了客戶對電磁材料性能的高要求,還推動了相關行業的發展。同時,Ferroperm還不斷拓展產品線,推出了變壓器、電感器、濾波器等一系列電子產品,進一步鞏固了其在電磁材料領域的領先地位。
TDK公司,作為全球知名的電子元器件制造商,早在上世紀80年代就開始涉足EMI濾波器領域。當時,隨著電子設備的日益普及,電磁干擾問題逐漸凸顯。TDK看準市場需求,投入大量資源進行EMI濾波器的研發。初期,他們面臨著技術難題和市場接受度的挑戰。然而,通過不斷的技術創新和產品迭代,TDK的EMI濾波器逐漸在市場上站穩了腳跟。他們的產品在計算機、通信設備等領域得到了廣泛應用,有效解決了電磁干擾問題,提升了設備的穩定性和可靠性。
背景:2001年9月5日,Fortiming Corporation在內華達州正式成立(來源:企查查)。在成立之初,公司就明確了自己的市場定位——專注于提供高質量的石英晶振、晶體振蕩器等頻率控制產品。
發展:面對當時競爭激烈的電子行業,Fortiming憑借其對技術的深刻理解和對市場需求的敏銳洞察,迅速在石英晶振領域站穩腳跟。公司不僅注重產品研發,還積極引進先進生產設備,提升產品質量和生產效率。
Xilinx VHDL模型IP核在Modelsim中的功能仿真問題及解決方法 Xilinx 的某些IP核只提供VHDL的behavior模型,這種情況下,如果在ISE里設置的preferred language為verilog,那么進行功能仿真時會遇到錯誤,提示相關的實體找不到。 Can\'t find module/primate " xxx". 例如,調用了復數乘法器CMPLY_V2.1時 ...… 查看全部問答∨ |
|
求教LPC2138 <--->CS5530調了一周多了,死活不通。讀回來的只是0xFF,怎么回事啊?? 有沒有哪位大哥有LPC2138 通過SPI口和CS5530通訊的例子,小可不勝感激,跪謝!!~ icipiq_ka@yahoo.com.cn … 查看全部問答∨ |
09屆齊魯軟件大賽報的是嵌入式實時操作系統設計,還有誰報的這個題目,大家一塊討論一下 我QQ:d-y-p@qq.com,用的是郵箱綁定 … 查看全部問答∨ |
我現在用9針COM1連接線把兩臺連接起來,我用SuperCommTool串口調試助手,兩臺機器都只能發不能收是什么原因。 還有,我做實現的目的是為測試我寫的串口程序能不能通信,以便能讓我的程序讀取地稱從串口發出的數據。現在不知道,我的測試對從地稱讀 ...… 查看全部問答∨ |
|
本帖最后由 dontium 于 2015-1-23 13:18 編輯 我的程序可能使那里沒有設置好,用capfifo來測速,但capfifo讀出來的數總不正確,在我的程序里,每一次進cap中斷讀一次capfifo的值,但capfifo的狀態位除了在開始測速。轉速特別低時刻能為01或10,大 ...… 查看全部問答∨ |
求教,新手第一次用MEMS gyro,用的是MSP4305310加MPU3050(I2C通信),MSP430硬件I2C模塊. 問題是 剛剛reset后用示波器測SDA和SCL口都有信號,但是示波器表筆一拿開再觸到管腳或者是測下別的腳之后再回去測SDA/SCL ...… 查看全部問答∨ |