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

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

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

采用可編程邏輯器件實(shí)現(xiàn)三線制同步串行通信的應(yīng)用設(shè)計(jì)

電子設(shè)計(jì) ? 來源:現(xiàn)代電子技術(shù) ? 作者:馮春陽,張遂南 ? 2021-06-08 15:32 ? 次閱讀

航天工程領(lǐng)域中,星地通訊等遠(yuǎn)距離遙測(cè)遙控是嵌入式衛(wèi)星數(shù)管計(jì)算機(jī)重要功能之一,利用三線制同步串行遙測(cè)遙控通道對(duì)指令和數(shù)據(jù)進(jìn)行收發(fā)操作是通信鏈路的重要環(huán)節(jié)。

目前許多處理器芯片都已集成了同步串行接口,但基于三線制同步串行接口的處理器并不多。利用傳統(tǒng)設(shè)計(jì)方法所實(shí)現(xiàn)的三線制同步通信硬件電路接口雖然能滿足一般工程設(shè)計(jì)要求,但在“低成本、小體積、低功耗和靈活性”設(shè)計(jì)理念的推動(dòng)下,傳統(tǒng)設(shè)計(jì)顯然弊大于利。采用可編程邏輯器件CPLDFPGA技術(shù),對(duì)三線制同步串行通信接口電路進(jìn)行結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn),可以大幅度減小系統(tǒng)體積,降低功耗,提高設(shè)計(jì)的靈活度。同時(shí),還可以在其中增加其他邏輯功能模塊,并能很方便地應(yīng)用到相關(guān)的嵌入式系統(tǒng)中。

1 三線制同步串行通信機(jī)理

三線制同步串行通信時(shí),發(fā)送端和接收端必須使用共同的時(shí)鐘源才能保持它們之間的準(zhǔn)確同步。為達(dá)到準(zhǔn)確同步的目的,其中一個(gè)方法就是采用編碼和解碼的原理,即在發(fā)送端利用編碼器把要發(fā)送的數(shù)據(jù)和發(fā)送時(shí)鐘組合在一起,通過傳輸線發(fā)送到接收端,在接收端再用解碼器從數(shù)據(jù)流中分離出接收時(shí)鐘。常用的編碼解碼器有曼徹斯特編碼解碼及NRZ-L碼。本文中收發(fā)信號(hào)采用的碼型是NRZ-L碼。

三線制同步串行通信主要包括三個(gè)信號(hào):采樣信號(hào)(也叫幀同步信號(hào))、時(shí)鐘信號(hào)和串行數(shù)據(jù)信號(hào),其時(shí)序邏輯關(guān)系如圖1所示。

從圖1可看出,數(shù)據(jù)接收或發(fā)送時(shí),首先幀同步信號(hào)先觸發(fā)一個(gè)瞬時(shí)啟動(dòng)脈沖,之后保持低電平有效,時(shí)鐘信號(hào)緊隨其后,數(shù)據(jù)在時(shí)鐘信號(hào)的上升沿保持穩(wěn)定,并開始采樣和傳輸,每個(gè)時(shí)鐘周期收發(fā)一位字符數(shù)據(jù),串行數(shù)據(jù)成批連續(xù)發(fā)送和接收。

2 三線制同步串行通信控制器接口結(jié)構(gòu)設(shè)計(jì)

2.1 基于傳統(tǒng)設(shè)計(jì)的硬件電路接口實(shí)現(xiàn)

在三線制同步串行通信控制器接口的傳統(tǒng)硬件電路設(shè)計(jì)中,需使用多片元器件來實(shí)現(xiàn)其功能,包括:異步四位計(jì)數(shù)器、移位寄存器、8位D觸發(fā)器、與門、與非門和反相器等主要功能器件,接口電路原理圖在ProteI 99 SE中實(shí)現(xiàn)。

三線制同步串行通信控制器接收接口硬件電路如圖2所示。

從圖2中可看到,通過復(fù)位信號(hào)rst n、片選信號(hào)CS、門控信號(hào)strobe和讀寫信號(hào)RW等的不同組合,實(shí)現(xiàn)邏輯控制功能。通過異步四位計(jì)數(shù)器SN54HC161的計(jì)數(shù)功能,使得移位寄存器SN54HC164順利進(jìn)行數(shù)據(jù)的串/并轉(zhuǎn)換,將8位并行數(shù)據(jù)通過8位D觸發(fā)器SN54HC374鎖存在內(nèi)部總線上等待系統(tǒng)接收。在輸出端,通過雙D觸發(fā)器SN54HC74產(chǎn)生中斷信號(hào)int,通知系統(tǒng)內(nèi)的微處理器進(jìn)行數(shù)據(jù)接收操作。

三線制同步串行通信控制器發(fā)送接口硬件電路如圖3所示。

從圖3可知,系統(tǒng)時(shí)鐘start-clk通過分頻電路模塊產(chǎn)生發(fā)送時(shí)鐘原始信號(hào)code-clk,用于電路的時(shí)鐘狀態(tài)控制。系統(tǒng)內(nèi)的微處理器將要發(fā)送的8位并行數(shù)據(jù)通過8位D觸發(fā)器SN54HC377,將數(shù)據(jù)鎖存在其Q端口等待發(fā)送,然后在異步四位計(jì)數(shù)器SN54HC161的計(jì)數(shù)功能控制下,移位寄存器SN54HC165進(jìn)行數(shù)據(jù)的并/串轉(zhuǎn)換操作。在輸出端,通過雙D觸發(fā)器SN54HC74產(chǎn)生中斷信號(hào),然后開始通過單向總線驅(qū)動(dòng)器SN54HC244進(jìn)行幀同步信號(hào)、時(shí)鐘信號(hào)及數(shù)據(jù)的發(fā)送操作。

2.2 基于CPLD/FPGA的接口結(jié)構(gòu)設(shè)計(jì)

為解決傳統(tǒng)硬件電路元器件多,功耗大,體積大等缺點(diǎn),利用CPLD/FPGA技術(shù),同時(shí)結(jié)合VHDL硬件描述語言設(shè)計(jì)三線制同步串行通信控制器接口已成為一種必然,結(jié)合三線制同步串行通信機(jī)理,設(shè)計(jì)出了基于CPLD/FPGA的三線制同步串行通信控制器接口內(nèi)部結(jié)構(gòu),其功能結(jié)構(gòu)如圖4所示。

整個(gè)三線制同步串行通信控制器接口的內(nèi)部結(jié)構(gòu)主要由時(shí)鐘分頻模塊、系統(tǒng)接口控制邏輯、數(shù)據(jù)接收模塊、數(shù)據(jù)發(fā)送模塊等四大模塊構(gòu)成。

時(shí)鐘分頻模塊主要用于數(shù)據(jù)收/發(fā)模塊產(chǎn)生同步時(shí)鐘信號(hào)。系統(tǒng)接口控制邏輯主要用于各種邏輯功能信號(hào)的控制,同時(shí)還可以接收_中斷仲裁邏輯模塊產(chǎn)生的中斷信號(hào),控制數(shù)據(jù)的接收或者發(fā)送操作。數(shù)據(jù)接收模塊是三線制同步串行通信控制器接口進(jìn)行數(shù)據(jù)接收的核心部分,其模塊結(jié)構(gòu)如圖5所示。

數(shù)據(jù)接收流程:在幀同步脈沖信號(hào)觸發(fā)下,串行數(shù)據(jù)在時(shí)鐘信號(hào)rclk上升沿到來時(shí)保持穩(wěn)定,并通過rdata信號(hào)線進(jìn)入數(shù)據(jù)接收模塊。在該模塊內(nèi)部,串行數(shù)據(jù)經(jīng)過串/并變換,接收FIFO作為數(shù)據(jù)緩沖器,將接收到的數(shù)據(jù)鎖存在VHDL程序指定的兩個(gè)地址寄存器中,一個(gè)地址單元存儲(chǔ)數(shù)據(jù)的高八位,另外一個(gè)地址單元存儲(chǔ)數(shù)據(jù)的低八位,當(dāng)數(shù)據(jù)存滿這兩個(gè)地址單元后,接口向系統(tǒng)發(fā)出一個(gè)“接收緩存滿”的接收中斷標(biāo)志int,系統(tǒng)微處理器響應(yīng)后,數(shù)據(jù)被全部取出,并行數(shù)據(jù)被送往系統(tǒng)的數(shù)據(jù)總線上,重復(fù)進(jìn)行相同操作,直至連續(xù)接收完所有數(shù)據(jù),數(shù)據(jù)接收過程結(jié)束。

數(shù)據(jù)發(fā)送模塊也是三線制同步串行通信接口進(jìn)行數(shù)據(jù)發(fā)送的核心部分,其模塊結(jié)構(gòu)如圖6所示。

數(shù)據(jù)發(fā)送流程:在sgate幀同步脈沖信號(hào)觸發(fā)下,系統(tǒng)數(shù)據(jù)總線上的并行數(shù)據(jù)在時(shí)鐘信號(hào)sclk上升沿到來時(shí)保持穩(wěn)定,并通過數(shù)據(jù)發(fā)送模塊開始數(shù)據(jù)發(fā)送。在模塊內(nèi)部,首先發(fā)送FIFO數(shù)據(jù)緩沖器,當(dāng)并行數(shù)據(jù)存滿該緩存單元后,數(shù)據(jù)發(fā)送模塊向系統(tǒng)發(fā)出一個(gè)“發(fā)送緩存滿”的發(fā)送中斷標(biāo)志int,系統(tǒng)微處理器響應(yīng)后,并行數(shù)據(jù)從發(fā)送FIFO內(nèi)讀出,經(jīng)過并/串變換成串行數(shù)據(jù),最高位MSB最前,最低位LSB最后,并被送往發(fā)送數(shù)據(jù)信號(hào)線Sdata上,發(fā)送至外圍設(shè)備接口,重復(fù)進(jìn)行相同操作,直至發(fā)送完畢所有數(shù)據(jù),數(shù)據(jù)發(fā)送過程結(jié)束。

3 結(jié) 語

本文在介紹了三線制同步串行通信機(jī)制基礎(chǔ)上,首先對(duì)三線制同步串行通信接口進(jìn)行了硬件電路設(shè)計(jì),然后針對(duì)傳統(tǒng)電路設(shè)計(jì)方式的不足,構(gòu)建了基于CPLD/FPGA的三線制同步串行通信控制器接口結(jié)構(gòu),詳述了各個(gè)功能模塊及其工作原理,設(shè)計(jì)合理,并且滿足了實(shí)際應(yīng)用要求。目前,此接口結(jié)構(gòu)模塊已作為FPGA設(shè)計(jì)中的關(guān)鍵子模塊被成功應(yīng)用于某航天項(xiàng)目及其配套的硬件測(cè)試平臺(tái)中。

責(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    599014
  • cpld
    +關(guān)注

    關(guān)注

    32

    文章

    1244

    瀏覽量

    168947
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18821

    瀏覽量

    298640
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    可編程邏輯器件

    可編程邏輯器件到底是干什么用的呢,簡(jiǎn)單的說,就是通過重新寫程序,重新注入到這個(gè)器件中達(dá)到實(shí)現(xiàn)其它的功能。最常見的當(dāng)屬電腦了。電腦本身除了加法,減法和簡(jiǎn)單的邏輯運(yùn)算四種。比如要是想
    發(fā)表于 04-15 10:02

    可編程邏輯器件是如何發(fā)展的?

    可編程邏輯器件是如何發(fā)展的?
    發(fā)表于 04-29 06:23

    怎么采用可編程邏輯器件設(shè)計(jì)數(shù)字系統(tǒng)?

    本文以乘法器的設(shè)計(jì)為例,來說明采用可編程邏輯器件設(shè)計(jì)數(shù)字系統(tǒng)的方法。
    發(fā)表于 04-29 06:22

    PLD可編程邏輯器件

    PLD可編程邏輯器件 英文全稱為:programmable logic device 即 PLD。PLD是做為一種通用集成電路產(chǎn)生的,他的邏輯功能按照用戶對(duì)器件編程來確定。一般的PLD
    發(fā)表于 07-22 09:05

    可編程邏輯器件設(shè)計(jì)

    可編程邏輯器件設(shè)計(jì) (264頁,nlc格式)
    發(fā)表于 03-25 16:41 ?66次下載

    可編程邏輯器件基礎(chǔ)及應(yīng)用實(shí)驗(yàn)指導(dǎo)書

    可編程邏輯器件基礎(chǔ)及應(yīng)用實(shí)驗(yàn)指導(dǎo)書 《可編程邏輯器件基礎(chǔ)及應(yīng)用》是一門側(cè)重掌握可編程邏輯器件的基本結(jié)構(gòu)和原理的課程。重點(diǎn)是使學(xué)生掌握基于可編程
    發(fā)表于 03-24 14:22 ?29次下載

    什么是PLD(可編程邏輯器件)

    什么是PLD(可編程邏輯器件) PLD是可編程邏輯器件(Programable Logic Device)的簡(jiǎn)稱,F(xiàn)PGA是現(xiàn)場(chǎng)可編程門陣列(Field Programable Gate Array)
    發(fā)表于 06-20 10:32 ?2.3w次閱讀
    什么是PLD(<b class='flag-5'>可編程邏輯器件</b>)

    EDA技術(shù)與應(yīng)用(可編程邏輯器件)

    7.1 可編程邏輯器件的基本原理 7.2 可編程邏輯器件的設(shè)計(jì)技術(shù) 7.3 可編程邏輯器件編程與配置
    發(fā)表于 05-23 10:46 ?142次下載
    EDA技術(shù)與應(yīng)用(<b class='flag-5'>可編程邏輯器件</b>)

    可編程邏輯器件FPGA/CPLD結(jié)構(gòu)與應(yīng)用

    可編程邏輯器件FPGA/CPLD結(jié)構(gòu)與應(yīng)用
    發(fā)表于 12-11 23:38 ?0次下載

    可編程邏輯器件(書皮)

    可編程邏輯器件(書皮)
    發(fā)表于 07-10 14:34 ?0次下載

    可編程邏輯器件EPLD是如何設(shè)計(jì)的

    可編程邏輯器件(Electrically Programmable Logic Device,EPLD)是指采用電信號(hào)的可擦可編程邏輯器件。
    發(fā)表于 08-22 18:12 ?1239次閱讀

    可編程邏輯器件的結(jié)構(gòu)

    常見的可編程邏輯器件分為FPGA、EPLD(CPLD)。下面簡(jiǎn)單介紹兩類器件的結(jié)構(gòu)和區(qū)別。
    的頭像 發(fā)表于 03-24 14:18 ?1035次閱讀
    <b class='flag-5'>可編程邏輯器件</b>的結(jié)構(gòu)

    可編程邏輯器件測(cè)試

    可編程邏輯器件 (Programmable Loeie Device,PLD)是一種用戶編程實(shí)現(xiàn)某種邏輯功能的邏輯
    發(fā)表于 06-06 15:37 ?594次閱讀
    <b class='flag-5'>可編程邏輯器件</b>測(cè)試

    什么叫可編程邏輯器件 可編程邏輯器件有哪些特征和優(yōu)勢(shì)?

    可編程邏輯器件(Programmable Logic Device,PLD)是一類集成電路器件,可以根據(jù)用戶的需求進(jìn)行編程和配置,以實(shí)現(xiàn)特定的邏輯
    發(fā)表于 09-14 15:25 ?2299次閱讀

    可編程邏輯器件的特征及優(yōu)勢(shì)科普

    可編程邏輯器件是一種集成電路,具有可編程功能的特性。它們可以根據(jù)用戶的需求進(jìn)行編程,從而實(shí)現(xiàn)不同的邏輯功能。
    的頭像 發(fā)表于 02-26 18:24 ?938次閱讀