常見外設學習以及無線通信頻率

常見外設

UART

UART(Universal Asynchronous Receiver/Transmitter,通用異步收發器)是一種異步串行全雙工的通信總線。

UART 有3根線,分別是:發送線(TX)、接收線(RX)和地線(GND),通信時必須將雙方的TX和RX交叉連接并且GND相連才可正常通信。

UART 中,發送和接收設備之間的時鐘頻率可以不同,但是它們需要約定相同的波特率(傳輸速率)來確保數據的正確傳輸。

UART的時序

起始位:1個字長,保持邏輯0電平
數據位:數據可以是5,6,7,8位,構成一個字符,一般都是8位。先發送最低位LSB,再發送最高位MSB(小端模式)。
校驗位:可選;奇校驗(Odd Parity):如果數據位中1的數目是偶數,則校驗位為1才能滿足1的個數為奇數,如果1的數目是奇數,校驗位為0。即加上校驗位后,1的數目是奇數。
偶校驗(Even Parity):如果數據為中1的數目是偶數,則校驗位為0才能滿足1的個數為偶數,如果1的數目是奇數,校驗位為1。即加上校驗位后,1的數目是偶數。
停止位:長度一般為1、1.5、2個波特率周期,保持邏輯1電平

RS485

RS485是串行通信標準,使用差分信號傳輸抗干擾能力強,常用于工控領域。

RS485只需要兩根線,通常被稱為A線B線,用于傳輸數據和接收數據。

A線和B線之間的電壓差用于表示數據的邏輯狀態。

當A線相對于B線的電壓為正時,表示邏輯“1”

當A線相對于B線的電壓為負時,表示邏輯“0”

兩線制通常使用雙絞線作為傳輸介質,具有較好的抗干擾能力和較長的傳輸距離。

RS485的特點

接口電平低:RS485的接口電平比RS232降低了,不易損壞接口電路的芯片。它的邏輯“1”以兩線間的電壓差為+(2~6)V表示,邏輯“0”以兩線間的電壓差為-2到-6V表示。這種低電平的接口設計使得RS485在傳輸數據時更加穩定,并且能夠減少電磁干擾的影響。

傳輸距離遠:RS485總線在傳輸速率較低時(例如100Kbps),其最遠傳輸距離可以達到1200米以上。這使得RS485非常適合于需要長距離傳輸的應用場景。

傳輸速率高:RS485的傳輸速率非常高,在短距離(如10米)傳輸時,其數據最高傳輸速率可以達到35Mbps。即使在長距離(如1200米)傳輸時,其傳輸速度也能達到100Kbps。這使得RS485能夠滿足高速數據傳輸的需求。

抗干擾能力強:RS485接口采用平衡驅動器和差分接收器的組合,這種設計增強了其抗共模干擾能力,使得RS485在電磁干擾較嚴重的環境下也能保持穩定的通信。

接口簡單:RS485接口采用差分信號傳輸,只需要兩根信號線(A+和B-)就可以進行正常的通信,連接簡單方便。

IIC

IIC(Inter-Integrated Circuit)是一種同步串行半雙工的通信協議,也被稱為I2C(Inter-Integrated Circuit)。

IIC使用兩根線(時鐘線SCL數據線SDA)進行通信,同時支持多個設備共享這兩根線,因此適用于多主設備和多從設備的應用場景。

IIC總線結構圖

① 由時鐘線SCL數據線SDA組成,并且都接上拉電阻,確保總線空閑狀態為高電平

② 總線支持多設備連接,允許多主機存在,每個設備都有一個唯一的地址

③ 連接到總線上的數目受總線的最大電容400pf限制

④ 數據傳輸速率:標準模式100k bit/s?、快速模式400k bit/s高速模式3.4Mbit/s

IIC協議時序

有效數據:在SCL為低電平時,準備數據,在SCL變為高電平之前準備好數據。SCL為高電平時,數據才是有效的。

起始信號(S):當SCL為高電平時,SDA從高電平變為低電平。

應答信號:因為發送完數據后,主機會釋放SDA,所以上拉電阻影響下SDA默認為高,而從機拉低SDA就是確認收到數據即ACK,否則NACK。

停止信號(P):當SCL為高電平時,SDA從低電平變為高電平。

SPI?

SPI是串行外設接口(Serial Peripheral Interface)的縮寫,是一種高速的,同步全雙工的通信總線。常用于短距離通訊,主要是在嵌入式系統中。它使用主從架構進行通信。通常情況下,一個主設備控制一個或多個從設備

一般使用4條線進行通信,分別是:

MOSI(Master Out Slave In):主設備輸出,從設備輸入。
MISO(Master In Slave Out):主設備輸入,從設備輸出。
SCLK(Serial Clock):時鐘信號,由主設備產生。
SS(Slave Select):從設備選擇信號,由主設備控制。

連接方式

常規SPI模式

在常規模式下,主機需要為每個從機提供單獨的片選信號。一旦主機使能(拉低)片選信號,MOSI/MISO線上的時鐘和數據便可用于所選的從機。如果使能多個片選信號,則MISO線上的數據會被破壞,因為主機無法識別哪個從機正在傳輸數據。

菊花鏈模式

在某些情況下,多個從設備可以通過串聯相連形成菊花鏈連接方式。主設備通過MOSI將數據連續發送到一個從設備,然后該從設備再將數據傳遞給下一個從設備,依此類推。

ADC

ADC(全稱 Analog-to-Digital Converter ),指模擬/數字轉換器。

首先,傳感器會采集物理量,并將這些物理量轉換為電壓。ADC可以采集這些電壓,并將這些電壓轉換為數字量,讓單片機進行處理。

ADC的特性

量程:能測量的電壓范圍 0 ~ 3.6V

分辨率:表示ADC能辨別的最小模擬量,用二進制位數表示,比如:8、10、12、16位等。位數越多,分辨率越高,一般來說分辨率越高,轉化時間越長。

轉化時間:表示完成一次A/D轉換所需要的時間,轉換時間越短,采樣率就可以越高。

精度:最小刻度基礎上疊加各種誤差的參數,精度受ADC性能、溫度和氣壓等影響。

量化誤差:用數字量近似表示模擬量,采用四舍五入原則,此過程產生的誤差為量化誤差。

轉換序列

A/D轉換被組織為兩組:規則組(常規轉換組)和注入組(注入轉換組)。

在F1中,規則組最多可以有16個轉換,注入組最多有4個轉換。

注入組的優先級比規則組高,規則組的轉換可以被注入組打斷。比如說,當規則組正在轉換時,觸發了注入組的轉換,那么規則組正在進行的轉換結束后,會去進行注入組的轉換。執行完全部注入組的轉換后,才會回來繼續執行規則組的轉換。

中斷

ADC中斷事件有:規則通道轉換結束、注入通道轉換結束、設置了模擬看門狗狀態位、溢出(F1沒有)。

規則組每個通道轉換結束后,除了可以產生中斷外,還可以產生DMA請求,我們利用DMA及時把轉換好的數據傳輸到指定的內存里,防止數據被覆蓋。

ADC的工作模式

單次轉換、連續轉換、掃描模式、不掃描模式

不同模式組合的作用

單次轉換模式(不掃描):只轉換一個通道,而且是一次,需等待下一次觸發。

單次轉換模式(掃描):選中的所有通道都轉換一次。

連續轉換模式(不掃描):只會轉換一個通道,轉換完后會自動執行下一次轉換。

連續轉換模式(掃描):選中的所有通道都轉換一次,并自動進入下一輪轉換。

?在進行ADC通道轉換時,轉換模式決定通道轉換的次數;而掃描模式決定轉換的通道數

單總線

單總線(1-Wire)是美國DALLAS公司推出的外圍串行擴展總線技術,它是一種簡單的信號傳輸電路,可通過一根共用的數據線實現主控制器與一個或一個以上從器件之間的半雙工雙向通信。這種總線技術與SPI、I2C串行數據通信方式不同,它采用單根信號線,既傳輸時鐘又傳輸數據,而且數據傳輸是雙向的。

單總線只有一根數據線系統中的數據交換、控制都在這根線上完成。設備(主機或從機)通過一個漏極開路三態端口連至該數據線,這樣允許設備不發送數據時釋放總線,以便其他設備使用總線。

單總線時序控制

單總線是主從結構,只有主機呼叫從機時,從機才能答應。

主機訪問1-wire器件都必須嚴格遵循單總線命令序列初始化ROM命令功能命令 。如果出現序列混亂,1-wire器件不會響應主機(搜索ROM命令,報警搜索命令除外)。因此,器件需要要求遵循嚴格的通信協議,以保證數據的完整性。

該協議由通過一條線來傳送的四種信令組成:包括復位脈沖和在線應答脈沖的復位序列、寫0時隙、寫1時隙、讀時隙。除在線應答脈沖以外,所有其它信號都由總線主機發出,并且發送的所有數據和命令都是字節的低位在前。主機與從機的數據通信是通過時隙完成的,在每個時隙只能傳送一位數據。通過寫時隙可把數據從主
機傳送給從機,通過讀時隙可把數據由從器件傳送
給主機,將完成一位傳輸的時間稱為一個時隙。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714440.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714440.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714440.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AT24C1024的模擬IIC驅動

AT24C1024是基于IIC的EEPROM,容量為1024/8128k bytes。它的引腳如下: 其中A1,A2為硬件地址引腳 WP為寫保護引腳,一般我們需要讀寫,需要接低電平GND,接高的話則僅允許讀 SDA和SCL則為IIC通信引腳 芯片通信采用IIC&…

02、MongoDB -- MongoDB 的安全配置(創建用戶、設置用戶權限、啟動安全控制、操作數據庫命令演示、mongodb 的幫助系統介紹)

目錄 MongoDB 的安全配置演示前準備:啟動 mongodb 服務器 和 客戶端 :1、啟動單機模式的 mongodb 服務器2、啟動 mongodb 的客戶端 MongoDB 的安全配置啟動演示用到的 mongodb 服務器 和 客戶端啟動單機模式的 mongodb 服務器:啟動 mongodb 的…

【數據結構】19 平衡二叉樹

定義 平衡二叉樹又稱為AVL樹,是具有以下性質的非空搜索樹: 任一結點的左、右子樹均為AVL樹。根節點的左、右子樹高度差的絕對值不超過1. 對于二叉樹的任一結點T,其平衡因子(BF)定義為BF(T) h L ? h R h_L- h_R hL…

acwing算法提高之搜索--雙向廣搜BFS與A星算法

目錄 1 專題說明2 訓練 1 專題說明 本專題用來記錄使用雙向廣搜BFS和A星算法求解的題目。 2 訓練 題目1&#xff1a;190字串變換 考點&#xff1a;從起點開始搜&#xff0c;從終點開始搜&#xff0c;即雙向廣搜。 C代碼如下&#xff0c; #include <iostream> #incl…

攻防世界-get_post

題目信息 相關知識 -G&#xff1a;表示GET請求&#xff0c;缺省POST -d參數用于發送 POST 請求的數據體 使用-d參數以后&#xff0c;HTTP 請求會自動加上標頭Content-Type : application/x-www-form-urlencoded。并且會自動將請求轉為 POST 方法&#xff0c;因此可以省略-X PO…

使用GPTQ進行4位LLM量化

使用GPTQ進行4位LLM量化 最佳腦量化GPTQ算法步驟1:任意順序洞察步驟2:延遲批量更新第三步:喬爾斯基重塑 用AutoGPTQ量化LLM結論References 權重量化的最新進展使我們能夠在消費級硬件上運行大量大型語言模型&#xff0c;例如在RTX 3090 GPU上運行LLaMA-30B模型。這要歸功于性能…

信息收集2.0版本

內網滲透之信息收集 whois查詢 1.1.1.1. 在線網站查詢 輸入相關的域名即可進行查詢。 &#xff08;1&#xff09;站長之家&#xff1a;whois域名查詢&#xff1a;http://whois.chinaz.com/ &#xff08;2&#xff09;愛站工具網&#xff1a;whois域名查詢&#xff1a;站長…

mysql數據庫操作小寄巧

目錄 json字段查詢時間相關只有日期只有時間又有時間又有日期時間比較時間運算 某字段同的取最新數據&#xff08;軟性的新數據覆蓋舊數據查找&#xff09;sql_modeonly_full_group_by的解決辦法優化思路 json字段查詢 查詢某個json字段&#xff08;xx&#xff09;的某個屬性下…

【考研數學】零基礎備考全年計劃

25考研數學基礎差&#xff0c;一定要重視基礎的復習&#xff01; 基礎不牢&#xff0c;地動山搖&#xff0c;這句話在如今的考研更加貼切 24考研的新形勢&#xff1a; 重基礎、計算量大、反押題 每一個變化對于基礎差的同學都不是好消息。 做過近幾年考研真題的人都會發現…

AI時代編程新寵!如何讓孩子成為未來的編程大師?

文章目錄 一、了解編程的基礎概念二、選擇適合的編程工具三、激發孩子的興趣四、注重基礎能力的培養五、提供實踐機會六、鼓勵孩子與他人合作七、持續支持與鼓勵《信息學奧賽一本通關》本書定位內容簡介作者簡介目錄 隨著科技的迅猛發展&#xff0c;編程已經從一種專業技能轉變…

Java實戰:PO、VO、DAO、BO、DTO與POJO在何處何場景下精準應用?

引言 在Java企業級應用開發中&#xff0c;良好的架構設計和清晰的數據模型劃分是保證代碼可讀性、可維護性和擴展性的基石。本文將深入剖析Java開發中常見的六大對象模型——PO&#xff08;Persistent Object&#xff09;、VO&#xff08;Value Object&#xff09;、DAO&#…

代碼隨想錄第二十五天 78.子集 90.子集II 491.非遞減子序列

LeetCode 78 子集 題目描述 給你一個整數數組 nums &#xff0c;數組中的元素 互不相同 。返回該數組所有可能的子集&#xff08;冪集&#xff09;。 解集 不能 包含重復的子集。你可以按 任意順序 返回解集。 示例 1&#xff1a; 輸入&#xff1a;nums [1,2,3] 輸出&…

24計算機考研 | 渤海大學

渤海大學丨省重點實驗室24年碩士招生&#xff08;調劑&#xff09; 考研調劑招生信息 學校:渤海大學 專業:工學->化學工程與技術->化學工藝 工學->材料科學與工程->材料學 工學->化學工程與技術->應用化學 工學->計算機科學與技術->計算機應用技…

iOS卡頓原因與優化

iOS卡頓原因與優化 1. 卡頓簡介 卡頓&#xff1a; 指用戶在使用過程中出現了一段時間的阻塞&#xff0c;使得用戶在這一段時間內無法進行操作&#xff0c;屏幕上的內容也沒有任何的變化。 卡頓作為App的重要性能指標&#xff0c;不僅影響著用戶體驗&#xff0c;更關系到用戶留…

Maven插件之 maven-dependency-plugin 分析依賴復制文件

目錄 插件簡介使用示例配置依賴&#xff1a;執行 mvn dependency:analyze輸出結果&#xff1a; 結尾 插件簡介 Apache Maven Dependency Plugin是Apache Maven構建工具的一個插件&#xff0c;用于管理項目的依賴項。 該插件提供了一系列目標&#xff08;goals&#xff09;&…

Linux: shm_xx系列函數使用詳解

目錄 一、shmget/shmctl/shmat/shmdt函數1、shmget2、shmctl3、shmat4、shmdt5、補充&#xff1a;ftok函數6、示例代碼 二、shm_open/shm_unlink函數1、shm_open2、shm_unlink3、示例代碼 三、課外閱讀 一、shmget/shmctl/shmat/shmdt函數 shm_xx系列函數是用于操作共享內存的一…

SpringBoot整合JdbcTemplate

?作者簡介:大家好,我是Leo,熱愛Java后端開發者,一個想要與大家共同進步的男人???? ??個人主頁:Leo的博客 ??當前專欄: 循序漸進學SpringBoot ?特色專欄: MySQL學習 ??本文內容:SpringBoot整合JdbcTemplate ??個人知識庫: Leo知識庫,歡迎大家訪問 目錄 …

設置文字之間的間距應該如何實現

設置文字之間的間距&#xff0c;通常指的是字母之間&#xff08;字符間距&#xff09;或單詞之間的間距。在CSS中&#xff0c;這可以通過letter-spacing和word-spacing屬性來實現。 字符間距&#xff08;letter-spacing&#xff09; letter-spacing屬性用于調整字符之間的間距…

【Git學習筆記】提交PR

step1 克隆一個倉庫 git clone .....step2 創建一個分支 (Creating a branch) # 創建并切換到本地新分支&#xff0c;分支的命名盡量簡潔&#xff0c;并與解決的問題相關 git checkout -b delete-unused-linkstep3 做出修改 (Make changes) step4 提交修改 # 保存本地修…

DDR5內存相比DDR4內存的優勢和區別?選擇哪一個服務器內存配置能避免丟包和延遲高?

根據幻獸帕魯服務器的實際案例分析&#xff0c;選擇合適的DDR4與DDR5內存大小以避免丟包和延遲高&#xff0c;需要考慮以下幾個方面&#xff1a; 性能與延遲&#xff1a;DDR5內存相比DDR4在傳輸速率、帶寬、工作電壓等方面都有顯著提升&#xff0c;但同時也伴隨著更高的延遲。D…