91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用CPLD提高了系統IO口利用率與系統集成度

電子設計 ? 作者:電子設計 ? 2018-10-07 12:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

CPLD稱為復雜可編程邏輯設計芯片,它是大規模可編程器件,具有高集成度、高可靠性、高速度的特點。CPLD是利用EDA技術進行電子系統設計的載體。硬件描述語言是EDA技術進行電子系統設計的主要表達手段,VHDL語言是常用的硬件描述語言之一;軟件開發工具是利用EDA技術進行電子系統設計的智能化的自動化設計工具,常用開發工具有QuartusⅡ,Ispexpert,Foundation等。CPLD以高速、高可靠性、串并行工作方式等特點在電子設計中廣泛應用。它打破了軟硬件之間的界限,加速了產品的開發過程。同樣單片機具有性價比高、功能靈活、良好的數據處理能力等特點。CPLD芯片與單片機結合在高性能儀器儀表中應用廣泛。

1 電路的仿真設計

1.1 硬件電路功能

用一片MCS-51芯片、一片CPLD/FPGA芯片、模/數轉換器ADC0809和數/模轉換器DAC0832構成一個數據采集系統,并用CPLD/FPGA實現數據采樣、D/A轉換輸出、有關數據顯示的控制,單片機完成對A/D轉換數據運算。電路如圖1所示。

系統功能如下:系統按一定速率采集輸入電壓U1,經AD0809轉換為8位數字量data;輸入數據與通過CPLD/FPGA采樣后輸入單片機進行相關運算,最后通過CPLD/FPGA送至DAC0832轉換為△U;數據采集和處理均在數據采集系統控制器的管理下有序進行。工作速率由時鐘信號CLK的速率決定。

1.2 單片機與CPLD/FPGA接口設計

單片機采用以總線方式與可編程芯片進行數據與控制信息通信,此方式有許多優點:

(1)速度快。其通信工作時序是純硬件行為,對于MCS-51單片機只需一條單字節指令就能完成所需的讀/寫時序如MOV@DPTR A和MOV A@DPTR。

(2)節省CPLD芯片的I/O口線。如果將圖中的譯碼器設置足夠的譯碼輸出以及安排足夠的鎖存器就能僅通過19根I/O口線在FPGA/CPLD與單片機之間進行各種類型的數據與控制信息交換。

(3)相對于非總線方式單片機的編程簡捷控制可靠。

(4)在FPGA/CPLD中通過邏輯切換單片機易于與SRAMROM接口。這種方式首先由FPGA/CPLD與接口的高速A/D等器件進行高速數據采樣并將數據暫存于SRAM中。采樣結束后通過切換使單片機與SRAM以總線方式進行數據通信以便發揮單片機強大的數據處理能力。

系統工作過程如下:ALE為地址鎖存使能信號,當下降沿來時,將P0口將低8位地址送人可編程芯片CPLD/FPGA中的地址鎖存器,然后在P2口和P0口形成的16位地址及WR信號共同作用下,將P0口的數據送入可編程芯片。單片機通過兩條指令MOVXDPTR#ADDR和MOVX@DPTR A將數據寫入芯片。在P2口和P0口形成的16位地址及RD信號共同作用下,將AD0809轉換后數據data送入單片機的P0口。單片機通過兩條指令MOVX DPTR#ADDR和MOVXA@DPTR將數據讀入P0口。設置A/D轉換器件片選信號ad_e和DA轉換器件片選信號da_e,設置數據輸入/輸出口data[7..0]。單片機與FPGA通信接口程序(名為MCS51)通過編譯后,生成的邏輯符號如圖2所示。



CPLD使用EPM7128時鐘為16 MHz有源晶振,首先使用CLK對復位信號采樣,8051的復位信號要求是高電平維持2個機器周期,2個機器周期就是2×12=24個振蕩周期,對復位信號連續采樣10次,若是一直為高電平,就產生片內復位使能信號。其他片內寄存器以這個復位信號做同步復位,對WR,RD,ALE都做了采樣,避免毛刺干擾。

1.3 AD0809與CPLD/FPGA狀態機接口設計

1.3.1 AD0809狀態機功能設計

狀態機的最簡結構一般由兩個進程構成,即主控時序進程和主控組合進程。一個進程描述時序邏輯輸出,另一個進程描述組合邏輯包括進程間狀態值的傳遞邏輯以及狀態轉換值的輸出。將AD0809與CPLD/FPGA的接口設計系統劃分為兩部分,即數據單元和控制單元。數據單元包括保存運算數據和運算結果的數據寄存器,也包括完成數據運算的組合邏輯電路。控制單元用來產生信號序列,以決定何時進行何種數據運算,控制單元要從數據單元得到條件信號,以決定繼續進行那些數據運算。數據單元要產生輸出信號、數據運算狀態等有用信號。數據單元和控制單元中,有兩個非常重要的信號,即復位信號和時鐘信號。復位信號保證了系統初始狀態的確定性,時鐘信號則是時序系統工作的必要條件。狀態機通常在復位信號到來的時候恢復到初始狀態,每個時鐘到來的時候內部狀態發生變化。從AD0809的初始狀態開始,也就是狀態機復位以后開始的狀態。在建立每個狀態時都寫出關于這個狀態的文字功能描述,AD0809狀態機功能描述與相應引腳的取值如下:

S0態:初始狀態,選擇通道1的模擬信號輸入,ADDC=‘1’,ALE=START=OE=LOCK=‘0’;

S1態:通道鎖存狀態。ALE=‘1’,START=OE=LOCK=‘0’:

S2態:啟動A/D轉換狀態。ALE=‘1’,START=‘1’,OE=LOCK=‘0’;

S3態:A/D轉換等待狀態,ALE=START=‘0’,OE=LOCK=‘0’;

IF EOC=‘0’保持當前狀態不變,繼續等待A/D轉換,ELSE轉換結束,進入下一狀態;

S4態:數據輸出允許狀態,A/D轉換完畢,開啟數據輸出允許信號,ALE=‘0’,START’0’,OE=‘1’,LOCK=‘0’;

S5態:數據鎖存狀態,開啟數據鎖存信號,將轉換結果送鎖存器鎖存,ALE=‘0’,START=‘0’,OE=‘1’,LOCK=‘0’;

S6態:延時狀態,為了保證數據可靠鎖存,延時一個時鐘狀態周期;ALE=‘0’,START=‘0’,OE=‘1’,LOCK=‘1’;

其他狀態:返回到初始狀態,ALE=START=OE=LOCK=‘0’。

1.3.2 ADC0809狀態機程序設計

ADC0809為單極性輸入,8位轉換精度逐次逼進式A/D轉換器。其采樣速度為每次轉換約100μs。在轉換開始前由地址鎖存允許信號ALE將3位地址鎖入鎖存器中以確定轉換信號通道。EOC為轉換結束狀態信號,由低電平轉為高電平時指示轉換結束,此時可讀入轉換好的8位數據。EOC在低電平時指示正在進行轉換。START為轉換啟動信號,上升沿啟動。OE為數據輸出允許高電平有效。CLK為ADC轉換時鐘輸入端口500 kHz左右。為了達到A/D器件的最高轉換速度,A/D轉換控制器必須包含監測EOC信號的邏輯,一旦EOC從低電平變為高電平即可將OE置為高電平,然后傳送或顯示已轉換好的數據[D0..D7]。狀態機由三個進程組成ADC,AD_STATE和DATA_LOCK。ADC是此狀態機的主控組合邏輯進程,確定狀態的轉換方式和反饋控制信號的輸出工作過程中首先監測系統復位信號RST,當其為高電平時使此進程復位至初始態ST0。啟動A/D轉換信號START在狀態ST3搜索轉換狀態信號EOC由0變1時即在狀態ST4開啟輸出。使能信號OE在下一狀態使LOCK產生一個上跳沿從而在此時啟動進程DATA_LOCK將由0809轉換好的8位數據鎖進鎖存器ADC_DATA。根據時序電路圖通過狀態機設計程序完成與CPLD/FPGA芯片的連接。圖3為狀態機程序仿真結果。

1.4 BCD碼轉換與顯示電路設計

當ADC0809的基準電壓(Vref)為5.12 V時,最小電壓準位是5.12/28=0.2 V。分析模擬輸入電壓與輸出電壓的對應關系可知,當ADC0809的D[7..0]收到的數據信號為10000110(即86H)時,則高4位1000為2.56 V,而低4位0110為0.12 V,所以最后的電壓輸出結果是2.68 V。為了方便后續的電壓數據顯示,在此將輸出電壓表示成12位的BCD碼形式。將高4位數據D(7..4)轉換為對應的高12位BCD碼H(11..0);將低4位數據D(3..0)轉換為對應的低12位BCD碼L(11..0)。在程序中首先用VHDL語言描述一個新的進程Process(regl),然后采用case…when…語句,生成并行結構的電路。

將生成的高12位BCD碼與低12位的BCD碼相加,得到12位的BCD碼,該結果即為所求的BCD碼結果。如上述的256 V的BCD碼是0010 0101 0110,0.12 V的BCD碼是0000 0001 0010,所以相加的結果是0010 0110 1000,即為2.68 V。因此在電路中必須設計一個12位的BCD碼加法程序,實現由8位二進制轉換為12位BCD碼硬件電路。在程序設計中應當注意的是BCD碼相加時,由最低4位加起,且每4位相加的結果超過1001時,應加0110調整。該段程序的描述是通過一個進程Process(HB,LB,CEN)來實現。其中HB表示生成的高12位BCD碼,LB表示生成的低12位BCD碼,CEN表示系統提供的時鐘信號。在時鐘上升沿時刻進行BCD碼相加,并判斷結果是否超過1001,判斷程序采用if…then…語句,實現條件判斷電路。按照圖4完成BCD碼程序轉換設計。將以上兩段程序進行組合,最終獲得由VHDL語言描述的BCD碼轉換程序。

1.5 A/D轉換與BCD碼合成系統電路

將A/D轉換電路與BCD碼轉換電路組成統一系統,通過硬件編程語言VHDL中的進程語句將編制成功的A/D轉換電路描述語句和BCD碼轉換電路描述語句組合成一個整體程序,通過QuartusⅡ軟件生成系統圖,如圖5所示。

A/D轉換結果由3位十進制數表示,每位十進制數由4位BCD碼表示,總共有12位BCD碼輸出。將電路輸出BCDOUT(11..0)分成BCDOUT(11..8),BCDOUT(7..4)和BCDOUT(3..0)三部分,通過三個進程Process()分別用VHDL語言編程描述LED顯示驅動。對整個系統進行波形仿真,得到仿真波形如圖6所示,最后在Gw48-CK實訓開發系統完成功能驗證。

2 結 語

將CPLD和微機控制技術相結合,在智能儀表設計和控制系統設計領域提高了系統設計的靈活性,縮短了產品開發周期,同時使系統易于升級和擴展。因為采用了CPLD(復雜可編程邏輯器件),極大提高了系統I/O口利用率,縮小了印刷電路板面積,提高了系統集成度,在多輸入/多輸出的數據采集和控制系統領域有十分廣闊應用前景。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    459

    文章

    52494

    瀏覽量

    440705
  • cpld
    +關注

    關注

    32

    文章

    1257

    瀏覽量

    171493
  • 可編程邏輯
    +關注

    關注

    7

    文章

    526

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何利用UCOSII中的統計任務 OS_TaskStat()知道了CPU利用率100%把利用率降下來?

    冒昧的問一下各路大神,假如我們利用UCOSII中的統計任務 OS_TaskStat()知道了CPU利用率100%,則應該怎樣操作,把利用率降下來?另外,利用率太高的話會不會不太好?
    發表于 07-12 04:36

    Post綜合后的利用率只不過是實施后的利用率

    嗨,Post綜合后的利用率只不過是實施后的利用率......?謝謝娜文G K.
    發表于 05-12 08:57

    如何利用CPLD實現直流固態功率控制器的設計

    本文充分利用CPLD的特點,設計了具有集成度高、速度快、抗干擾能力強和可靠性高等優點的28V直流SSPC。在一塊電路板上集成多個SSPC,各個功率開關問相互獨立工作,進一步
    發表于 04-30 06:08

    請問一下如何提高無線信道利用率

    影響無線信道利用率的因素有哪些?無線利用率與網絡質量間的關系是什么?調整和提高無線信道利用率的建議有哪些?
    發表于 05-27 06:46

    如何獲取棧利用率

    如何獲取棧利用率
    發表于 02-16 07:34

    openEuler 資源利用率提升之道 01:概論

    利用率低于 20%,存在巨大的資源浪費。因此,提升數據中心資源利用率是當前急需解決的一個重要問題[2]。問題成因資源利用率低下的主要原因是任務和資源調配失衡,這種失衡又有多種表現形式,例如:調度
    發表于 07-06 09:54

    CPU利用率問題求解

    “你能不能實現一個理想情況下應該在每個時間片開始時執行的監控任務,并確定前一個時間片的利用率。如果利用率過高,則應發出警告。如果我們可以使用空閑時間,那么我們就可以衡量利用率。為了設置這個監視器
    發表于 12-06 06:00

    提高客車生產鋼材利用率的途徑

    客車是消耗鋼材較多的機電產品。多年來, 客車生產企業的鋼材利用率普遍較低, 致使產品成本較高, 經濟效益較差。因此, 筆者就如何提高鋼材利用率、降低客車生產成本、提高經濟
    發表于 07-25 16:16 ?27次下載

    活性物質利用率

    活性物質利用率 電池具有活性物質的量與按法拉弟定律計算應產生的電量稱為理論容量。要求電極給出一定的電量時,電極的活性物質利用率可表示為
    發表于 11-06 11:02 ?2606次閱讀

    專家談如何提高服務器利用率

    專家談如何提高服務器利用率  如今,數據中心節能已成為熱點話題,為減少功耗,各大廠商紛紛推出相應產品和解決方案。近日,Microsoft的utility
    發表于 01-27 11:46 ?808次閱讀

    最大利用率的LED燈電路

    這款LED燈只用三只晶體管,僅需0.71V電壓便可啟動LED發光,一節5號堿性電池可供此燈連續點亮170小時,極大限度地提高了電池的利用率
    的頭像 發表于 02-07 05:28 ?3620次閱讀
    最大<b class='flag-5'>利用率</b>的LED燈電路

    單液滴連續光固化打印極大提高了光固化3D打印的材料利用率

    中科院化學所的宋延林、吳磊,在nature communications上發表了題為"Continuous 3D printing from one single droplet"的研究成果,極大提高了光固化3D打印的材料利用率
    的頭像 發表于 10-19 15:20 ?2067次閱讀

    物流倉庫管理系統提高出入庫效率及提高面積利用率

    和物力.但是WMS倉庫系統不是做好了就做好了。 中維倉庫管理系統是一套高性能的管理軟件,與傳統的倉庫管理系統相比,WMS不僅功能完善,支持條碼/RFID作業管理,最核心的是策略管理,庫位管理,可以大大
    發表于 12-01 09:09 ?1793次閱讀

    如何增加半導體產能利用率?

    為了滿足當前全球芯片短缺期間不斷增長的需求,半導體行業正在大幅提高其晶圓廠產能利用率,該術語是指在任何給定時間使用的總可用制造能力的百分比。但是,提高半導體容量利用率需要時間。這并不像
    的頭像 發表于 03-01 15:07 ?3476次閱讀

    GPU利用率低的本質原因

    最近經常有同學反饋 GPU 利用率低,嚴重浪費 GPU 資源的問題,經過對一些實例分析后,借著這篇文檔和大家分享一下解決方案,希望能對使用 GPU 的同學有些幫助。 一、GPU 利用率的定義 本文
    的頭像 發表于 06-19 14:07 ?1666次閱讀
    GPU<b class='flag-5'>利用率</b>低的本質原因
    主站蜘蛛池模板: 国产精品黄页网站在线播放免费 | 久久亚洲精品玖玖玖玖 | 成人精品一区二区三区电影 | 国产精品超清大白屁股 | 欧美69色| 亚洲大香伊人蕉在人依线 | 三级成人影院 | 久久99久久精品免费思思6 | 五月婷婷视频在线 | 26uuu影院亚洲欧美综合 | 噜噜噜 综合 亚洲 | 91视频观看 | 国产精品1区2区3区在线播放 | 久久久久久噜噜噜久久久精品 | 久久怡红院国产精品 | 黄色天天影视 | 男女互插小说 | 三级免费黄色片 | 91破处视频| 日韩城人视频 | 夜夜骑首页| 乱高h辣黄文np公交车 | 亚洲午夜视频在线观看 | 欧美不在线 | 久久青草国产手机看片福利盒子 | 特级毛片免费视频观看 | 天天操天天干天天拍 | 毛片免费网站 | 国产免费播放 | 欧美黄色片视频 | 精品免费| 2021国产精品午夜久久 | 性色视频在线 | 欧美黄色成人 | 欧美日韩高清性色生活片 | 亚洲成a人不卡在线观看 | 好爽~~~~嗯~~~再快点明星 | 国产精品怡红院永久免费 | 国产精品女仆装在线播放 | 日日操免费视频 | 欧美+日本+国产+在线观看 |