chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

串行外圍設(shè)備接口如何使用

454398 ? 來源:wv ? 2019-09-27 09:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:總而言之,SPI是什么?

SPI是一種通信協(xié)議,最初是由Motorola開發(fā)的,在兩個(gè)電子設(shè)備之間傳輸信息。這是一種全雙工協(xié)議,這意味著兩個(gè)設(shè)備能夠同時(shí)彼此“交談”。

這兩個(gè)設(shè)備被指定為“主”設(shè)備和“從”設(shè)備。主設(shè)備是始終啟動(dòng)每個(gè)對(duì)話并控制對(duì)話進(jìn)行速度的芯片。從設(shè)備僅在主設(shè)備請(qǐng)求時(shí)才同時(shí)發(fā)送和接收信息。

步驟2:如何進(jìn)行SPI通信?

要使兩個(gè)設(shè)備之間的通信正常進(jìn)行,有四個(gè)使用的導(dǎo)線:通常標(biāo)記為CS或SS(用于從機(jī)選擇)的片選導(dǎo)線,主輸出從輸入數(shù)據(jù)線(MOSI),主輸入從輸出數(shù)據(jù)線(MISO)和串行時(shí)鐘線( SCK)。

主設(shè)備將CS線拉低,以與另一側(cè)的從設(shè)備指示它希望與其通信。因?yàn)檫@是一條單獨(dú)的電線,被賦予了“低”電壓信號(hào),所以這意味著主機(jī)可以通過將其特定電線驅(qū)動(dòng)為低電平來實(shí)際控制多個(gè)“從”設(shè)備。

MOSI和MISO數(shù)據(jù)行可以完成您可能已經(jīng)猜到的事情;這兩條線允許SPI為全雙工。數(shù)據(jù)位以高電壓或低電壓信號(hào)的形式在兩個(gè)設(shè)備之間沿一個(gè)方向或另一個(gè)方向傳輸,具體取決于我們正在查看的數(shù)據(jù)線。

SCK線控制速度傳輸MOSI和MISO線上的數(shù)據(jù)位。像CS線一樣,SCK線也由主機(jī)控制,并以高和低周期驅(qū)動(dòng)以創(chuàng)建“時(shí)鐘脈沖”,以控制何時(shí)在這些線上傳輸數(shù)據(jù)。可以將SPI配置為在時(shí)鐘變高或變低時(shí)傳輸數(shù)據(jù)。

第3步:您一直說數(shù)據(jù)的“位”

實(shí)際上是。 SPI被設(shè)計(jì)(并且是真正成為SPI所必需的)以字節(jié)大小的通信塊工作,八位到一個(gè)字節(jié)。因此,對(duì)于每個(gè)數(shù)據(jù)傳輸,時(shí)鐘和兩條數(shù)據(jù)線上都會(huì)有8個(gè)時(shí)鐘脈沖和8個(gè)數(shù)據(jù)傳輸。

但是,有些器件,例如ADI公司的AD5628芯片在Digilent的PmodDA4上,它使用串行外設(shè)接口,但表示它們傳輸12位數(shù)據(jù)而不是8位數(shù)據(jù)。雖然這似乎是不可能的,因?yàn)槟荒苁褂肧PI協(xié)議來傳輸8位數(shù)據(jù),然后僅傳輸4位數(shù)據(jù),但是當(dāng)我們深入研究該芯片的數(shù)據(jù)手冊(cè)時(shí),便找到了解決方案。滾動(dòng)一點(diǎn)后,我們可以看到DAC的移位寄存器實(shí)際上是32位長(第22頁)。可以很好地將其分為四個(gè)單獨(dú)的8位傳輸。

步驟4:我們?nèi)绾蝹鬏敶藬?shù)據(jù)?

與其他通信協(xié)議不同,SPI是它能夠以多種方式傳輸數(shù)據(jù),因此功能相當(dāng)廣泛。根據(jù)每個(gè)芯片想要接收數(shù)據(jù)的方式,可以先發(fā)送最高有效位(MSB)或先發(fā)送最低有效位(LSB)來發(fā)送信息。

但是真正的多功能性來自四種不同的SPI時(shí)鐘模式,可供選擇。這些模式可以調(diào)整時(shí)鐘信號(hào)是從高電壓值開始還是從低電壓值開始,以及數(shù)據(jù)的位是隨著時(shí)鐘信號(hào)轉(zhuǎn)變?yōu)楦唠娖綘顟B(tài)而傳輸還是隨著時(shí)鐘轉(zhuǎn)變?yōu)榈蛻B(tài)狀態(tài)而傳輸。上表概述了每種時(shí)鐘模式的配置。同樣,根據(jù)設(shè)備期望接收信息的方式來選擇每種模式。

因此,如果我們希望兩個(gè)設(shè)備通過SPI互相發(fā)送210值,則最高位首先,在時(shí)鐘下降沿傳輸數(shù)據(jù),首先讓主機(jī)將芯片選擇線拉低,然后使時(shí)鐘信號(hào)拉高,讓每個(gè)設(shè)備將適當(dāng)?shù)奈弧凹虞d”到數(shù)據(jù)線上,然后讓主機(jī)將時(shí)鐘信號(hào)拉低,以便兩個(gè)設(shè)備“收集”在線上的數(shù)據(jù)位。重復(fù)該過程,直到所有位均已傳輸,然后主機(jī)最終再次將芯片選擇線拉高以結(jié)束通信。

步驟5:接收數(shù)據(jù)如何?

要正確接收數(shù)據(jù)所需執(zhí)行的操作取決于接收數(shù)據(jù)的組件類型。如果您擁有主設(shè)備(通常是某種形式的微控制器),則將信息發(fā)送到另一設(shè)備,該設(shè)備不是微控制器,而只是一個(gè)只做一件事并且永遠(yuǎn)不會(huì)回應(yīng)您的小芯片(例如在這種情況下產(chǎn)生模擬電壓信號(hào)) (Analog Devices AD5628),那么作為用戶創(chuàng)建電路的用戶通常不需要執(zhí)行任何操作。只需確保您以設(shè)備想要接收的格式將信息發(fā)送到設(shè)備即可。

如果您希望從設(shè)備接收反饋(或者正在將信息發(fā)送到所需的其他微控制器)進(jìn)行編程以正確接收和解釋傳入的信息),您可能需要做兩件事。如果您使用的SPI庫支持全部接收(并返回)8位數(shù)據(jù),例如chipKIT/Arduino的SPI庫,那么您可以簡單地將所有信息接收并存儲(chǔ)到一個(gè)變量中

如果不使用SPI庫,則必須收集各個(gè)信息位,然后將它們“網(wǎng)狀”在一起。 (可能)最容易通過接收數(shù)組中的信息位來完成。

步驟6:需要考慮的其他事項(xiàng)

盡管看起來SPI是通過某種方式完成的并且可以始終如一地工作,但情況并非總是如此。嘗試使用主設(shè)備與其從芯片進(jìn)行通信時(shí),線路的另一端可能沒有從設(shè)備。作為主設(shè)備的電子芯片無法物理地知道它是否通過電線連接到其他芯片。

此外,SPI中可能使用的許多代碼僅用于SPI庫。一些配置(例如,是否應(yīng)首先發(fā)送最高或最低有效位或何時(shí)應(yīng)在時(shí)鐘周期發(fā)送)僅由庫處理。但是,也可以“手動(dòng)”執(zhí)行SPI協(xié)議。畢竟,SPI使用的所有信號(hào)就是這樣。高低壓信號(hào)。因此,只要將主機(jī)用于發(fā)送電壓信號(hào)的引腳連接到“從”設(shè)備上的正確引腳,就可以通過“ SPI”完成通信,而無需實(shí)際使用指定的SPI引腳。

自然地,使用SPI庫可能會(huì)更快(無論是鍵入速度還是實(shí)際速度),但是很高興知道所有通信(無論是SPI還是其他方式)實(shí)際上都是電壓信號(hào)。/p》

第7步:運(yùn)行SPI:沒有庫

雖然理論很不錯(cuò),但我個(gè)人也看到了有關(guān)某物的實(shí)際示例時(shí),它會(huì)更有用看起來像在代碼中。這將不需要使用預(yù)定義的SPI庫,因?yàn)槲艺J(rèn)為查看SPI協(xié)議的各個(gè)部分何時(shí)發(fā)生會(huì)更有幫助。代碼本身(在下面的文本文件中提供)基于Digilent的uC32,這是一個(gè)功能強(qiáng)大的Arduino兼容微控制器。

步驟8:運(yùn)行SPI:使用庫

您還可以將SPI與適當(dāng)?shù)膸煲黄鹗褂?。這種方法(毫不奇怪)大大減少了您作為用戶需要鍵入的代碼量,但同時(shí)從本質(zhì)上來說還是抽象的。除非您已經(jīng)知道每個(gè)命令在內(nèi)部執(zhí)行的操作,否則沒有簡單的方法只能通過查看它們來弄清楚發(fā)生了什么。

步驟9:一些最終想法

正如我之前提到的,SPI是電子領(lǐng)域中使用最廣泛的通信協(xié)議之一,但并沒有給人以為使用 協(xié)議的印象。 ; I2C,UART,USB等許多其他協(xié)議,甚至簡單的通用輸入/輸出(GPIO)引腳在通訊方面都有其優(yōu)點(diǎn)和缺點(diǎn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1867

    瀏覽量

    99888
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Air8000 BLE外圍模式全解析:數(shù)據(jù)收發(fā)實(shí)戰(zhàn)指南!

    Air8000的BLE外圍設(shè)備模式(peripheral)是實(shí)現(xiàn)低功耗藍(lán)牙通信的關(guān)鍵功能,它既能主動(dòng)向中心設(shè)備發(fā)送通知數(shù)據(jù),也能接收中心設(shè)備傳回的信息。本文將通過具體示例,詳細(xì)拆解這一模式的操作流程
    的頭像 發(fā)表于 11-24 14:26 ?1597次閱讀
    Air8000 BLE<b class='flag-5'>外圍</b>模式全解析:數(shù)據(jù)收發(fā)實(shí)戰(zhàn)指南!

    可編程多協(xié)議串行接口適配器 串行接口測試與轉(zhuǎn)換 USB轉(zhuǎn)UARTI2CSPICAN1-Wire

    串行接口
    穩(wěn)控自動(dòng)化
    發(fā)布于 :2025年10月30日 11:14:27

    DDR200T LCD顯示模塊

    ,并且顯示出來。 SPI時(shí)序 SPI(serial peripheral interface,串行外圍設(shè)備接口)主要用于CPU與各種外圍器件進(jìn)行全雙工、同步
    發(fā)表于 10-28 07:21

    ElfBoard嵌入式教育科普|USB接口全面解析

    USB的全稱是Universal Serial Bus,譯為通用串行總線,是一種用于連接計(jì)算機(jī)及其外部設(shè)備的標(biāo)準(zhǔn)接口,它的設(shè)計(jì)旨在標(biāo)準(zhǔn)化連接計(jì)算機(jī)與外部設(shè)備之間的通信,到現(xiàn)在它已經(jīng)是一
    的頭像 發(fā)表于 07-16 11:38 ?4237次閱讀
    ElfBoard嵌入式教育科普|USB<b class='flag-5'>接口</b>全面解析

    外圍設(shè)備通過手機(jī)連接到BLE應(yīng)用程序,為什么不能連接到Infineaon BLE?

    使用 ch06_ex01_periab \" le 項(xiàng)目創(chuàng)建了外圍設(shè)備。\" \" 使用像 LightBlue 這樣的移動(dòng)應(yīng)用程序,我能夠連接到這個(gè)外圍設(shè)備并更改特征值。 我已經(jīng)使用 \"
    發(fā)表于 07-07 08:06

    是否有可能使用CYSPP配置文件連接到外圍設(shè)備?

    我們的現(xiàn)有系統(tǒng)使用中央和外圍設(shè)備,使用基于 Microchip RN4020 的中央和外圍設(shè)備。 由于供應(yīng)限制的原因,我們希望將英飛凌 CYBT-483056 SoC 用于 BLE central。 我們想知道是否有可能使用CYSPP配置文件連接到
    發(fā)表于 07-07 06:17

    AS32系列MCU調(diào)試教程 SPI調(diào)試的常見問題解析

    協(xié)議是由摩托羅拉公司提出的通訊協(xié)議(Serial Peripheral Interface),即串行外圍設(shè)備接口,是一種高速全雙工的通信總線。它被廣泛地使用在 ADC、 LCD 等設(shè)備
    的頭像 發(fā)表于 06-27 18:10 ?563次閱讀
    AS32系列MCU調(diào)試教程 SPI調(diào)試的常見問題解析

    MAX6618 PECI至I2C轉(zhuǎn)換器技術(shù)手冊(cè)

    獨(dú)立的串行通信通道,用于在多主系統(tǒng)或多從系統(tǒng)中與外圍設(shè)備同步通信。該接口允許最高400kbps的串行數(shù)據(jù)速率。
    的頭像 發(fā)表于 05-16 10:52 ?514次閱讀
    MAX6618 PECI至I2C轉(zhuǎn)換器技術(shù)手冊(cè)

    串行通信接口SPI與QSPI的區(qū)別

    在嵌入式系統(tǒng)的世界里,選擇正確的通信技術(shù)可以對(duì)項(xiàng)目的性能和可擴(kuò)展性產(chǎn)生重大影響。讓我們比較兩個(gè)流行的串行通信接口:SPI(串行外設(shè)接口)和QSPI(四路SPI)。
    的頭像 發(fā)表于 04-09 15:24 ?2608次閱讀
    <b class='flag-5'>串行</b>通信<b class='flag-5'>接口</b>SPI與QSPI的區(qū)別

    電容屏串行接口

    帝晶智慧屏電容屏串行接口
    的頭像 發(fā)表于 03-11 17:21 ?1657次閱讀

    SPI通信總線概述和Verilog實(shí)現(xiàn)

    SPI = Serial Peripheral Interface,是串行外圍設(shè)備接口,是一種高速,全雙工,同步的通信總線。
    的頭像 發(fā)表于 02-07 14:28 ?2005次閱讀
    SPI通信總線概述和Verilog實(shí)現(xiàn)

    串行接口的工作方式有幾種,串行接口的RXD1和TXD1是什么端口

    在數(shù)字通信領(lǐng)域,串行接口作為一種高效的數(shù)據(jù)傳輸方式,廣泛應(yīng)用于各種電子設(shè)備之間的數(shù)據(jù)交換。串行接口不僅具有結(jié)構(gòu)簡單、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)
    的頭像 發(fā)表于 01-29 16:51 ?2121次閱讀

    異步串行接口有哪些,異步串行接口為何需要波特率

    在現(xiàn)代電子通信領(lǐng)域,異步串行接口作為數(shù)據(jù)交換的一種基本方式,廣泛應(yīng)用于各種嵌入式系統(tǒng)、計(jì)算機(jī)設(shè)備以及遠(yuǎn)程通信網(wǎng)絡(luò)中。本文將深入探討異步串行接口
    的頭像 發(fā)表于 01-29 14:47 ?1599次閱讀

    SH32F9001的SPI介紹與應(yīng)用

    SPI(Serial peripheral interface)即串行外圍設(shè)備接口,是由Motorola首先在其MC68HCxx系列單片機(jī)上定義的,基于高速全雙工總線的通訊協(xié)議。被廣泛應(yīng)用于LCD
    的頭像 發(fā)表于 12-31 17:04 ?2078次閱讀
    SH32F9001的SPI介紹與應(yīng)用

    KeyStone架構(gòu)串行外設(shè)接口(SPI)手冊(cè)

    SPI(Serial Peripheral Interface)是一種高速、全雙工、同步的串行通信協(xié)議,它允許微控制器與一個(gè)或多個(gè)外圍設(shè)備進(jìn)行通信。SPI通信通常使用四根線:SCK(時(shí)鐘線
    發(fā)表于 12-16 10:33 ?0次下載