串口 IIC PWM 相关
一.PWM原理:
? ? ? ? 1.脈沖寬度調制(PWM),簡稱脈寬調制,是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。
????????2.PWM頻率的:是指1秒鐘內信號從高電平到低電平再回到高電平的次數(一個周期),也就是說一秒鐘PWM有多少個周期,單位是 Hz。
????????3.PWM的周期:T=1/f;周期=1/頻率;如果頻率為50Hz ,也就是說一個周期是20ms 那么一秒鐘就有 50次PWM周期。
????????4.PWM的占空比:是一個脈沖周期內,高電平的時間與整個周期時間的比例,比如PWM的一個周期是20ms其中高電平10ms那么這個pwm的占空比就是50%。通過占空比就可以調節脈沖寬度。
5.PWM通過占空比實現模擬電壓:單片機的IO口輸出的是數字信號,IO口只能輸出高電平和低電平,假設高電平為5V 低電平則為0V 那么我們要輸出不同的模擬電壓,就要用到PWM,通過改變IO口輸出的方波的占空比從而獲得使用數字信號模擬成的模擬電壓信號。通過對連接和斷開時間的控制,理論上來講,可以輸出任意不大于最大電壓值(即0~5V之間任意大小)的模擬電壓。
????????比方說 占空比為50% 那就是高電平時間一半,低電平時間一半,在一定的頻率下,就可以得到模擬的2.5V輸出電壓 那么75%的占空比 得到的電壓就是3.75V。
?總結:
PWM就是在合適的信號頻率下,通過一個周期里改變占空比的方式來改變輸出的有效電壓。
二.串口
? ? ? ? 1.特點:*串口通信屬于異步通信,發送方和接收方之間沒有統一的時鐘信號,比如電腦和單片機之間(電腦快單片機慢);Rs232標準串口最高傳輸速率可以達到20kb/s。
??????????????????????*使用電平信號;電平信號是用信號線電平減去參考線電平得到的電壓差,這個電壓差決定了傳輸值是1還是0。?在電平信號中多少V代表1,多少V代表0是不固定的,取決于電平標準。譬如,RS232電平中-15V ~ -3V表示1,+3V ~ +15V表示0;TTL電平中+5V表示1,0V表示0。
??????????????????????*串行通信,串口通信每次同時只能傳輸1個二進制位。
? ? ? ? ? ? ? ? ? ? ? *波特率;指的是串口通信的速率,也就是串口通信時每秒鐘可以傳輸多少個二進制位。譬如,每秒鐘可以傳輸9600個二進制位,波特率就是9600,波特率不能隨意制定低端單片機如51常用9600,高端單片機和嵌入式SOC常用115200。
? ? ? ? ? ? ? ? ? ? ? *起始位、數據位、奇偶校驗位、停止位;串口通信時,收發是一個周期一個周期進行的,每個周期傳輸n個二進制位。這一個周期就叫做一個通信單元,一個通信單元由:起始位+數據位+奇偶校驗位+停止位組成的。
? ? ? ? ? ? 起始位:表示發送方要開始發送一個通信單元,起始位的定義是串口通信標準事先指定的,是由通信線上的電平變化來反映的。
? ? ? ? ? ? 數據位:是一個通信單元中發送的有效信息位,是本次通信真正要發送的有效數據,串口通信一次發送多少位有效數據是可以設定的(可選的有6、7、8、9,一般都是選擇8位數據位,因為一般通過串口發送的文字信息都是ASCII碼編碼,而ASCII碼中一個字符剛好編碼為8位)。
? ? ? ? ? ? 校驗位:是用來校驗數據位,以防止數據位出錯的。
? ? ? ? ? ? 停止位:是發送方用來表示本通信單元結束標志的,停止位的定義是串口通信標準事先指定的,是由通信線上的電平變化來反映的。常見的有1位停止位、1.5位停止位、2位停止位等,一般使用的是1位停止位。
? ? ? ? ? ? 總結:
? ? ? ? ? ? ? ? ? ? 串口通信時因為是異步通信,所以通信雙方必須事先約定好通信參數,這些通信參數包括:波特率、數據位、校驗位、停止位(串口通信中起始位定義是唯一的,所以一般不用選擇)。
? ? ? ? ? ? ? ? ? ? ? ? *單工、半雙工和全雙工:串口是全雙工
? ? ? ? ? ? 單工:單方向收發數據,A B兩個設備只能一個發一個收。
? ? ? ? ? ? 半雙工:雙方分時收發數據,只能A發B收或者B發A收。
? ? ? ? ? ? 全雙工:雙方同時收發數據,A B可以同時收發信息。
三.IIC協議
? ? ? ? 1.IIC協議叫集成電路總線?,它是一種串行通信總線,使用多主從架構,一個IIC總線上,可以掛載多個(40個)外接設備。每一個設備都有一個地址
? ? ? ? 2.IIC協議的通信過程:接線:要搭建IIC的通信線路,出除去電源之外,還需要兩條線,分別是SDA和SCL,SDA:數據信號線,用于傳輸數據;SCLK:時鐘信號線,用于產生時鐘頻率,控制時序,實現協議過程;由于是單總線進行數據傳輸,所以IIC協議是半雙工的。
? ? ? ? 3.當SCL時鐘信號一直處于高電平狀態時,SDA線由高電平跳變到低電平這個動作,表示起始信號;當SCL時鐘信號一直處于高電平狀態時,SDA線由低電平跳變到高電平這個動作,表示結束信號。
? ? ? ? 4.在數據的傳輸過程中,SCL為高電平時,外設模塊開始采集SDA數據線上的數據,此時要求SDA數據線上的電平狀態必須穩定,防止SDA變化后被無人為開始或停止傳輸,當SCLK為低電平時才允許SDA線上的數據跳變成另外一種狀態。
? ? ? ? 5.主機每傳完一個字節的數據即外設每收到一個字節的數據,外設就要在第9個時鐘脈沖到來的時候,將SDA數據線拉低進行應答(ACK),且必須是穩定的低電平,表示已經收到了一個字節的數據,拉高表示不進行應答。
? ? ? ? 6.在主機傳完一個字節的數據之后,就應該釋放總線,當SDA和SCLK同時為高時,表示空閑狀態。
?
總結
以上是生活随笔為你收集整理的串口 IIC PWM 相关的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 净利润断层
- 下一篇: 利用接口检查日期是否为法定节假日