www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于CPLD的專用鍵盤接口芯片的方案設(shè)計

在單片機應用系統(tǒng)中,存在多種形式的外部數(shù)據(jù)輸入接口界面,例如RS-232C串行通信、鍵盤輸入等[1,4] 。其中利用鍵盤接口輸入數(shù)據(jù),是實現(xiàn)現(xiàn)場實時調(diào)試、數(shù)據(jù)調(diào)整和控制最常用的方法。單片機的外圍鍵盤擴展電路有多種實現(xiàn)方式,例如直接利用I/O接口線或外接8255A接口芯片,配合適當?shù)慕涌诠芾沓绦?,就可以實現(xiàn)外圍鍵盤擴展功能。但是,在這些方法中,鍵盤擴展電路需要占用單片機的資源對按鍵進行監(jiān)控和處理,這對要求高實時性處理的單片機系統(tǒng)是不現(xiàn)實的。

為了解決這一問題,可以使用專用鍵盤接口芯片(例如Intel8279) [2]來組建鍵盤子系統(tǒng)。然而,這類專用鍵盤接口芯片在使用靈活性方面尚有欠缺,尤其當用戶需要實現(xiàn)某些特定功能時,其缺點更為明顯。針對上述問題,本文提出一種利用復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)設(shè)計技術(shù)[3]實現(xiàn)專用鍵盤接口芯片的方案。

1 系統(tǒng)原理

圖1是單片機系統(tǒng)中鍵盤子系統(tǒng)的構(gòu)成原理框圖。其中鍵盤接口芯片KB-CORE是該子系統(tǒng)的核心部分,它應具備如下功能:第一,產(chǎn)生按鍵掃描時序,并進行硬件去抖動。如果有按鍵按下,實現(xiàn)按鍵編碼、中斷處理等功能。第二,可以區(qū)分處理數(shù)字鍵和功能鍵。數(shù)字鍵將由接口芯片暫存,而當功能鍵被按下時申請CPU中斷處理;對多個按鍵同時按下,按一定的編碼優(yōu)先級處理。第三,提供與MCS-51系列單片機兼容的接口,單片機可以讀取芯片中保存的數(shù)據(jù)或功能代碼。第四,提供數(shù)據(jù)顯示接口,可以直接驅(qū)動4位七段LED數(shù)碼管,并進行動態(tài)掃描顯示。
按鍵根據(jù)鍵盤子系統(tǒng)的服務(wù)對象擬設(shè)置了數(shù)字鍵(0~9)、功能鍵(ROW、COL、DAT)、清零鍵(CLR)共14個,排成4×4的矩陣,有兩個未定義。


2 專用鍵盤接口芯片功能結(jié)構(gòu)設(shè)計

根據(jù)上述專用鍵盤芯片KB-CORE的功能要求,圖2示出本芯片內(nèi)部應有的結(jié)構(gòu)框圖。其工作原理如下:(1)鍵盤掃描控制及編碼電路中內(nèi)含一個環(huán)形計數(shù)器。該計數(shù)器計數(shù)輸出至KSL [0~3]端作為鍵盤掃描信號。每當掃描信號發(fā)生變化時,鍵盤掃描控制器從KRL[0~3]端讀入某一行按鍵的狀態(tài)信號。如果沒有按鍵被按下,則掃描下一行;如果有按鍵被按下,則控制器鎖定被掃描行,并延遲約10ms去抖動,然后再次掃描被鎖定行以確定按鍵是否誤讀。如果按鍵被證實按下,則一直等待直至用戶松開該鍵。與此同時,數(shù)字鍵碼將被保存到先進先出存儲器,功能鍵則直接產(chǎn)生中斷請求信號IRQ,通知CPU讀取鍵碼DBO[0~7]。(2)FIFO RAM中數(shù)據(jù)容量為16位。每4位對應一個字形符,所以七段LED數(shù)碼管需要4位。(3)掃描發(fā)生器一方面產(chǎn)生LED的位選信號DSL[0~3],另一方面產(chǎn)生掃描顯示輸出控制電路的位數(shù)據(jù)選通信號。掃描顯示輸出控制電路根據(jù)位數(shù)據(jù)選通信號讀取FIFO RAM中相對應的數(shù)據(jù),然后送七段譯碼電路輸出DP[0~6]驅(qū)動LED顯示屏的段選信號電極。(4)接口控制電路一方面用來識別CPU的讀時序;另一方面用來對地址信號線A1A0譯碼,實現(xiàn)對輸出數(shù)據(jù)的選擇。若A0A1="00",則輸出FIFO RAM中的低字節(jié)數(shù)據(jù);若A0A1="01",則輸出FIFO RAM中的高字節(jié)數(shù)據(jù);若A0A1="10",則輸出控制數(shù)據(jù)(表明ROW、COL、DAT中哪一個被按下);若A0A1="11",則不輸出FIFO RAM中的任何數(shù)據(jù)。


3 專用鍵盤接口芯片核心部分的狀態(tài)描述與實現(xiàn)

為了實現(xiàn)上述專用鍵盤接口芯片功能結(jié)構(gòu),利用可編程邏輯技術(shù)對各個功能塊進行邏輯時序描述和實現(xiàn)。由于鍵盤掃描控制和去抖的邏輯時序設(shè)計較復雜并具典型性,因此下面將對鍵盤掃描控制和去抖部分的設(shè)計思想進行介紹。

[!--empirenews.page--]


鍵盤掃描時序的基本原理[4]可以用圖3所示的狀態(tài)圖表示。狀態(tài)圖的輸入變量為RST(復位)、KEY-PRESS(有按鍵)、TIMER-OVER(去抖動延時結(jié)束);輸出變量包括EN-SCAN(掃描行轉(zhuǎn)移)、EN-CODED(鍵盤編碼啟動)、START-TIMER(開啟去抖動延時)。從圖3中知道,狀態(tài)S0→S1→S2為按鍵掃描狀態(tài)鏈,狀態(tài)S3→S4→S5為去抖延時狀態(tài)鏈,狀態(tài)S6為按鍵保持期。當按鍵被按下時,進入啟動(S3)去抖延時狀態(tài)鏈;去抖延時結(jié)束后(S5),若按鍵沒有按下則恢復掃描狀態(tài)鏈(S0);若按鍵確認被按下則進入保持期(S6),并輸出按鍵編碼?維持至按鍵松開。

根據(jù)狀態(tài)圖3和上述的狀態(tài)轉(zhuǎn)移描述,進行鍵盤掃描控制電路的設(shè)計,結(jié)果如圖4所示。其中H3是6位循環(huán)移位寄存器,由時鐘CLK觸發(fā)實現(xiàn)狀態(tài)移位。移位寄存器的輸出Q0~Q5分別代表鍵盤掃描控制電路的狀態(tài)S0~S6,當然它們并非一一對應,但實現(xiàn)的功能相同。值得一提的是,如果專用鍵盤芯片KB-CORE的外部時鐘CLK來自單片機的ALE信號(如圖1所示),當單片機時鐘為6MHz時,則專用鍵盤芯片KB-CORE的外接時鐘為1MHz的方波信號,信號周期為1μs。如果將該時鐘信號經(jīng)過一個分頻器,使其輸出的信號周期約為Tclk=1μs×212≈4ms,然后再作為H3的時鐘信號。這意味著鍵盤掃描控制電路約4ms掃描一行按鍵。如果H3中的Q2態(tài)沒有被使用,則可以實現(xiàn)約8ms的去抖動延時。通過這樣的設(shè)計,可以免除延時計數(shù)器,簡化電路。


4 專用鍵盤接口芯片的實現(xiàn)

根據(jù)實時數(shù)據(jù)校正系統(tǒng)的設(shè)計要求,使用了34個自定義I/O引腳和PC44封裝的CPLD來實現(xiàn)專用鍵盤接口芯片KB-CORE。芯片型號的選擇依據(jù)綜合所需要的宏單元(Macrocells)個數(shù)決定。如果借助硬件描述語言VHDL[5]對上述設(shè)計進行描述,綜合結(jié)果需要約140個宏單元;如果改用原理圖輸入方式,則只需約60個宏單元。因此選用XC9572芯片可以滿足上述專用鍵盤接口芯片KB-CORE的要求。實際使用如圖1和圖2所示,操作結(jié)果表明鍵盤接口芯片性能穩(wěn)定。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

摘要:基于DSP和CPLD設(shè)計了CAN一1553B網(wǎng)關(guān),選擇了1553B總線作為電機控制系統(tǒng)的主總線,其主要用于操作系統(tǒng)與子控制系統(tǒng)之間的通信。為了更好地完成各節(jié)點之間的通信,采用CAN總線作為子系統(tǒng)總線,構(gòu)建基于CAN...

關(guān)鍵字: 電機控制網(wǎng)絡(luò) 1553B總線 CPLD

FPGA(Field Programmable Gate Array)是在PAL、GAL等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服...

關(guān)鍵字: FPGA ASIC CPLD

10月29日消息,瀾起科技官方宣布,其DDR5第一子代內(nèi)存接口及模組配套芯片已成功實現(xiàn)量產(chǎn)。該系列芯片是DDR5內(nèi)存模組的重要組件,包括寄存時鐘驅(qū)動器(RCD)、數(shù)據(jù)緩沖器(DB)、串行檢測集線器(SPDHub)、溫度傳...

關(guān)鍵字: DDR 內(nèi)存 接口芯片

摘要:針對傳統(tǒng)基于單片機設(shè)計的出租車計費器系統(tǒng)的諸多不足,提出了一種利用VHDL設(shè)計的基于CPLD的出租車計費器系統(tǒng)的設(shè)計方案。該方案模擬了出租車的啟動、停止、暫停、換擋等功能,并用動態(tài)掃描電路顯示出租車所走的里程及其所...

關(guān)鍵字: VHDL CPLD 出租車計費器 QuartusII

5月28日,Renesas、Melexis、Littelfuse、Parker Chomerics、Aavid、MTA、Eaton Bussmann、芯力特、中科微、榮湃半導體等汽車電子大廠將聚集在世強硬創(chuàng)新產(chǎn)品研討會汽...

關(guān)鍵字: 新能源汽車 接口芯片 功率器件

數(shù)字集成電路有兩種類型:ASIC和FPGA(現(xiàn)場可編程門陣列)。專用集成電路(ASIC)有一個預先定義的特定硬件功能,在生產(chǎn)后不能重新編程。但FPGA可以在制造后可無限編程。

關(guān)鍵字: FPGA CPLD Intel

為增進大家對功耗的了解程度,本文將對CPLD中的降低功耗的技術(shù)予以介紹。

關(guān)鍵字: 功耗 指數(shù) CPLD

可編程邏輯控制器(PLC)主機是通過背板總線支持擴展模塊的連接,背板總線是PLC主機同I/O擴展模塊之間的高速數(shù)據(jù)通路,支持主機和擴展模塊之間的I/O數(shù)據(jù)刷新。

關(guān)鍵字: cpld plc 總線與接口 接口芯片

一般說來,可編程接口芯片都有存儲器及地址線,所謂可編程就是指CPU用指令將某數(shù)據(jù)寫入接口芯片的某個存儲器,接口芯片在接到CPU送來的數(shù)據(jù)后,自動翻譯該數(shù)據(jù),然后執(zhí)行該數(shù)據(jù)所代表的動作。

關(guān)鍵字: 擴展 接口芯片

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉