一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

可配置GPIO模擬SPI總線的設(shè)計(jì)和實(shí)現(xiàn)過程分析

牽手一起夢(mèng) ? 來源:電子技術(shù) ? 作者:鄧彬偉 ? 2020-10-04 14:10 ? 次閱讀

嵌入式系統(tǒng)處理器中有相當(dāng)一部分處理器不帶SPI接口,但基丁SPI接口的設(shè)備非常豐富,此外,SPI設(shè)備的不同以及處理器對(duì)GPIO口位尋址是否支持各處理器各有不同,因而不同處理器中軟件模擬GPIO也各不相同。若能提供一種通用可配置可移植的GPIO模擬SPI總線的驅(qū)動(dòng)則能很方便快捷的訪問SPI設(shè)備,從而提高整個(gè)嵌入式系統(tǒng)的開發(fā)效率。本文針對(duì)GPIO口位尋址與否給出方面,給出了一種可配置GPIO模擬SPI總線的方法并詳細(xì)介紹了其設(shè)計(jì)與實(shí)現(xiàn)過程,且具有代碼小可移植性強(qiáng)使用方便等特點(diǎn)。

1 GPIO規(guī)范

SPI是一個(gè)全雙工的串行接口。它設(shè)計(jì)成可以在一個(gè)給定總線上處理多個(gè)互聯(lián)的主機(jī)和從機(jī)。在一定數(shù)據(jù)傳輸過程中,接口上只能有一個(gè)豐機(jī)和一個(gè)從機(jī)能夠通信。在一次數(shù)據(jù)傳輸中,主機(jī)總是向從機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù),而從機(jī)也總是向主要發(fā)送一個(gè)字節(jié)數(shù)據(jù)。可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。由于SPI總線一共只需3~4位數(shù)據(jù)線和控制線即可實(shí)現(xiàn)與具有SPI總線接口功能的各種I/O器件進(jìn)行接口,而擴(kuò)展并行總線則需要8根數(shù)據(jù)線、8~16位地址線、2~3位控制線,岡此,采用SPI總線接口可以簡(jiǎn)化電路設(shè)計(jì),節(jié)省很多常規(guī)電路中的接口器件和I/O口線,提高設(shè)計(jì)的可靠性。在基于SPI總線接口構(gòu)成的通信網(wǎng)絡(luò)中,通信可由主節(jié)點(diǎn)發(fā)起,也可由從節(jié)點(diǎn)發(fā)起。當(dāng)主節(jié)點(diǎn)發(fā)起通信時(shí),它可主動(dòng)對(duì)從節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的讀寫操作。工作過程敘述如下:首先選中要與之通信的從節(jié)點(diǎn)(通常片選端為低有效),而后送出時(shí)鐘信號(hào),讀取數(shù)據(jù)信息的操作將在時(shí)鐘的上升沿(或下降沿)進(jìn)行。每送出八個(gè)時(shí)鐘脈沖,從節(jié)點(diǎn)產(chǎn)生一個(gè)中斷信號(hào),該中斷信號(hào)通知上節(jié)點(diǎn)一個(gè)字節(jié)已完整接收,可發(fā)送下一個(gè)字節(jié)的數(shù)據(jù)。SPI接口網(wǎng)絡(luò)主從點(diǎn)需完成給出片選信號(hào)及時(shí)鐘信號(hào),它可主動(dòng)的與各從節(jié)點(diǎn)進(jìn)行信息的交流;而在從節(jié)點(diǎn)主動(dòng)要求服務(wù)的情況下,它卻是一種半主動(dòng)的形式。由SPI接口技術(shù)構(gòu)成的網(wǎng)絡(luò)接口信號(hào)線(CLK、MOSI、MISO、/SS和INT)如果輔之以相應(yīng)完備的通信協(xié)議,其服務(wù)功能必然會(huì)增強(qiáng),相比于485等主從式分布網(wǎng)絡(luò)而言,其通信速率也應(yīng)有較人的提高。

2 GPIO模擬SPl

2.1 SPI硬件結(jié)構(gòu)

SPI接口在內(nèi)部硬件實(shí)際上足兩個(gè)簡(jiǎn)單的移位寄存器,傳輸?shù)臄?shù)據(jù)為8位,在主器件產(chǎn)生的從器件使能信號(hào)和移位脈沖下,按位傳輸,高位在前,低位在后,SPI內(nèi)部硬件結(jié)構(gòu)如圖1所示。

可配置GPIO模擬SPI總線的設(shè)計(jì)和實(shí)現(xiàn)過程分析

2.2 SPI時(shí)序

在SCLK的下降沿上數(shù)據(jù)改變,同時(shí)一位數(shù)據(jù)被存入移位寄存器,SPI時(shí)序如圖2所示。

2.3 SPI寫過程模擬

采用掩碼方式實(shí)現(xiàn)位控制。

3 可配置GPIO設(shè)計(jì)與實(shí)現(xiàn)

GPIO端口可分為支持位尋址和不支持位尋址,需由程序移植人員根據(jù)處理器及編譯器情況定義GPIO對(duì)應(yīng)的SPI接口,相關(guān)文件在SPIHARD.H中。

3.1 GPIO配置

3.2 實(shí)現(xiàn)配置的可移植部分

與GPIO口尋址方式無關(guān)性代碼的實(shí)現(xiàn)。

以上實(shí)現(xiàn)在EPSON S1C33L11、AT89C52、SPCE061A及PHILIPS ARM LPC2106上都得到驗(yàn)證。

責(zé)任編輯:gt

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

    關(guān)注

    68

    文章

    19748

    瀏覽量

    232957
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8891

    瀏覽量

    153010
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1754

    瀏覽量

    94214
收藏 人收藏

    評(píng)論

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

    基于GPIO模擬SPI接口驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)

    SPI總線是我們常用的串行設(shè)備接口,一般情況下我們都會(huì)適應(yīng)硬件SPI接口,但有些時(shí)候當(dāng)硬件端口不足時(shí),我們也希望可以使用軟件來模擬SPI硬件
    發(fā)表于 12-07 16:21 ?6789次閱讀
    基于<b class='flag-5'>GPIO</b><b class='flag-5'>模擬</b>的<b class='flag-5'>SPI</b>接口驅(qū)動(dòng)設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    GPIO模擬I2C總線的驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)

    I2C總線簡(jiǎn)單方便,是我們經(jīng)常使用的一種總線。但有時(shí)候我們的MCU沒有足夠多的I2C控制器來實(shí)現(xiàn)我們的應(yīng)用,所幸我可以使用普通的GPIO引腳來模擬
    發(fā)表于 12-14 14:19 ?5701次閱讀
    <b class='flag-5'>GPIO</b><b class='flag-5'>模擬</b>I2C<b class='flag-5'>總線</b>的驅(qū)動(dòng)設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    對(duì)SPI通信模式的配置過程分析

    SPI通信分析許久不更,想你們了。SPI 模式的配置SPI通信配置STM官方的芯片手冊(cè)中對(duì)于
    發(fā)表于 02-17 07:57

    SPI總線實(shí)現(xiàn)DSP和MCU之間的高速通信

    簡(jiǎn)述了SPI總線協(xié)議工作時(shí)序和配置要求,通過一個(gè)成功的實(shí)例詳細(xì)介紹了使用SPI總線實(shí)現(xiàn)DSP與M
    發(fā)表于 11-27 15:10 ?58次下載

    基于Avalon總線可配置LCD控制器IP核的設(shè)計(jì)

    基于Avalon總線可配置LCD 控制器IP核的設(shè)計(jì) 本文討論了基于Avalon 總線流傳輸?shù)?b class='flag-5'>配置LCD 顯示控制器IP 核的設(shè)計(jì),根據(jù)自頂向下的設(shè)計(jì)思想,將IP 核進(jìn)行層次功能
    發(fā)表于 02-09 09:34 ?27次下載

    一種高速可配置實(shí)時(shí)總線的開發(fā)及其應(yīng)用

    一種高速可配置實(shí)時(shí)總線的開發(fā)及其應(yīng)用:為滿足工業(yè)生產(chǎn)中對(duì)現(xiàn)場(chǎng)總線柔性可重構(gòu)以及高速實(shí)時(shí)傳輸要求,討論了一種可在線配置高速實(shí)時(shí)總線的設(shè)計(jì)與
    發(fā)表于 03-18 15:56 ?20次下載

    兼容I2C總線可配置模擬輸出的PAC192

    視頻簡(jiǎn)介:本視頻為大家介紹Microchip的上橋臂電流傳感器PAC1921,它具有兼容I2C的總線可配置模擬輸出。
    的頭像 發(fā)表于 03-26 06:17 ?4509次閱讀

    STM32F0xx_ GPIO配置詳細(xì)過程

    STM32F0xx_GPIO配置詳細(xì)過程
    的頭像 發(fā)表于 04-08 09:31 ?4990次閱讀
    STM32F0xx_ <b class='flag-5'>GPIO</b><b class='flag-5'>配置</b>詳細(xì)<b class='flag-5'>過程</b>

    STM32的SPI接口、cubeMX軟件配置SPI接口和分析SPI相關(guān)代碼

    本文主要介紹STM32的SPI接口、cubeMX軟件配置SPI接口和分析SPI相關(guān)代碼。 STM32之S
    的頭像 發(fā)表于 09-24 14:09 ?1.7w次閱讀
    STM32的<b class='flag-5'>SPI</b>接口、cubeMX軟件<b class='flag-5'>配置</b><b class='flag-5'>SPI</b>接口和<b class='flag-5'>分析</b><b class='flag-5'>SPI</b>相關(guān)代碼

    UG-753:使用片上基準(zhǔn)電壓源和SPI接口評(píng)估8通道、12位、可配置的ADC/DAC/GPIO AD5592R

    UG-753:使用片上基準(zhǔn)電壓源和SPI接口評(píng)估8通道、12位、可配置的ADC/DAC/GPIO AD5592R
    發(fā)表于 05-24 13:28 ?6次下載
    UG-753:使用片上基準(zhǔn)電壓源和<b class='flag-5'>SPI</b>接口評(píng)估8通道、12位、<b class='flag-5'>可配置</b>的ADC/DAC/<b class='flag-5'>GPIO</b> AD5592R

    stm32使用gpio模擬spi

    本文介紹如何使用STM32標(biāo)準(zhǔn)外設(shè)庫的GPIO端口模擬SPI,本例程使用PA5、PA6和PA7模擬一路SPI。
    發(fā)表于 11-23 18:21 ?64次下載
    stm32使用<b class='flag-5'>gpio</b><b class='flag-5'>模擬</b><b class='flag-5'>spi</b>

    STM32 SPI配置及深入解析

    SPI分析平時(shí)會(huì)使用硬件SPI,但是只用于應(yīng)用沒有具體深入了解SPI的執(zhí)行流程,此處我采用抓取波形的方式對(duì)SPI進(jìn)行了一下深入了解。STM3
    發(fā)表于 12-22 19:16 ?4次下載
    STM32 <b class='flag-5'>SPI</b><b class='flag-5'>配置</b>及深入解析

    STM32F103+TM1638 SPI驅(qū)動(dòng),非GPIO模擬SPI

    STM32F103+TM1638 SPI驅(qū)動(dòng),非GPIO模擬SPI由于最近的項(xiàng)目需要用到數(shù)碼管顯示。本想……廢話少說,由于種種原因(偷懶)選用了一片TM1638。現(xiàn)成的開發(fā)板,貌似好多
    發(fā)表于 12-22 19:22 ?14次下載
    STM32F103+TM1638 <b class='flag-5'>SPI</b>驅(qū)動(dòng),非<b class='flag-5'>GPIO</b><b class='flag-5'>模擬</b><b class='flag-5'>SPI</b>

    GPIO可配置為幾種模式 請(qǐng)簡(jiǎn)述GPIO的工作模式

    GPIO可配置為三種模式:Output模式、Input模式和Analog模式
    發(fā)表于 07-24 11:27 ?7419次閱讀
    <b class='flag-5'>GPIO</b><b class='flag-5'>可配置</b>為幾種模式 請(qǐng)簡(jiǎn)述<b class='flag-5'>GPIO</b>的工作模式

    軟件可配置模擬 I/O 的設(shè)計(jì)理念

    作者: Kenton Williston 曾幾何時(shí),模擬 I/O 就是最專業(yè)、功能最固定的硬件。例如,電流驅(qū)動(dòng)器和電壓傳感器是完全不同的零件,試圖顛倒其角色可謂是荒謬至極。 軟件可配置模擬 I/O
    的頭像 發(fā)表于 05-05 11:10 ?1161次閱讀
    軟件<b class='flag-5'>可配置</b><b class='flag-5'>模擬</b> I/O 的設(shè)計(jì)理念