【正文】
74LS245(八同相三態(tài)緩沖器)作為緩沖器,再由 FPGA 識(shí)別鍵盤信號(hào)。 6 1 2 3 4 5 6 7 8 9 10 11 12ABCD121110987654321DCBAA02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E19D I R1U174 L S 2 45S0S W P BS1S W P BS2S W P BS3S W P BS8S W P BS7S W P BS6S W P BS5S W P B+ 5V12345678161514131211109R P 1R E S P A C K 3 圖 2 – 3 鍵盤硬件電路圖 顯示部分 控制器將鍵盤輸入的數(shù)據(jù)經(jīng)過譯碼器的 q3 端口傳送到顯示模塊的 DATA端口,為了節(jié)省輸出端口資源,鍵盤輸入信息的顯示部分 采用了動(dòng)態(tài)顯示的工作 方式,其工作原理如下: LED 數(shù)碼管是共陰極的,總共可帶動(dòng) 8 位這樣的 LED 數(shù)碼管。動(dòng)態(tài)驅(qū)動(dòng)顯示接口與靜態(tài)驅(qū)動(dòng)顯示接口的一個(gè)明顯特點(diǎn)是:動(dòng)態(tài)驅(qū)動(dòng)法將多位 LED 同名段的選擇線都并聯(lián)在一起,即 8 位中的所有同名段 a 接在一起,所有 b 段都接在一起 ,這樣只要一個(gè) 8 位的鎖存器來控制段碼 a、 b、 c、 d、 e、 f、 g 就夠了,另外用一個(gè)鎖存器來控制點(diǎn)亮的位, 因此需要 2 個(gè) 8 位的 I/O 端口, 由于所有位的位選擇碼是用一個(gè) I/O 端口控制,所有段的段選擇碼也是用一個(gè) I/O 端口控制,因此在每個(gè)瞬間, 8 位 LED 只可能顯示相同的字符。要想每位顯示不同的字符,必須要采用掃 描的顯示方式。即在每一瞬間只能使某一位顯示相應(yīng)的字符,在此瞬間,由位選擇控制的 I/O 端口在要顯示的位上送入選通電平(共陰極接法送入低電平,共陽極7 接法送入高電平),以保證讓該位顯示字符;再由段選擇控制的 I/O 端口輸出相應(yīng)字符的段選擇碼, 如此循環(huán)下去,使每一位都顯示該位應(yīng)顯示的字符,并保持延時(shí)一段時(shí)間,然后再選中下一位,利用發(fā)光顯示器的余輝及人眼的視覺暫留特點(diǎn),給人一種顯示器同時(shí)被點(diǎn)亮的效果。段選擇碼,位選擇碼在每送入一次后一般需要延時(shí) 1~ 5ms 時(shí)間。 使用 74LS244 作為驅(qū)動(dòng),其中電阻計(jì)算如下: 每段點(diǎn)亮?xí)r 需要電壓為 2V, 電流 5 mA,所以每段應(yīng)串入電阻為 ( ) / ( 5 2 ) / 5 6 0 0MMR U U I V V m A? ? ? ? ? ? ( 21) LED 陣列顯示中采用 共陰極連接,經(jīng)過 FPGA 行列掃描,分別加以正負(fù)電壓,確定點(diǎn)亮第幾行、第幾列的 LED,可以讓其顯示出是哪個(gè)鍵盤按下了。 電源設(shè)計(jì) FPGA 對(duì)電源的要求與 DSP 非常相似,一般需要 , 或 作為核心電壓, 或 作為 I/O 口 電壓,為了保證 FPGA 正常啟動(dòng),核心電壓( VCCINT)的上升時(shí)間 tr 必須在特定的范圍內(nèi),此外,電壓上升 必須單調(diào),不允許有波動(dòng)。某些 DC/DC 變換芯片,比如 TI 的 TPS5461X 系列可以外部調(diào)節(jié)電壓上升時(shí)間,給設(shè)計(jì)帶來了方便。 在供電順序上, 推薦所有的供電電壓同時(shí)上電,否則,可能產(chǎn)生較大的啟動(dòng)電流 。 FPGA 由一個(gè)未連接的電路單元陣列組成,通過用戶編程進(jìn)行配置。 FPGA 的電源功耗一般取決于以下因素:內(nèi)部資源的使用率,工作時(shí)鐘頻率,輸出變化率,布線密度,I/O 電壓等,不同的應(yīng)用,電源實(shí)際功耗相差非常大。 本設(shè)計(jì)電源采用的是DC/DC 控制器電源 。 DC/DC 控制器沒有內(nèi)置的 FETs,因此,它能夠保證設(shè)計(jì)有很大的靈活性, 設(shè)計(jì)者可以選用有特定導(dǎo)通電阻的外接 FET 晶體管,并根據(jù)應(yīng)用的需要調(diào)整電流限。采用這種方案設(shè)計(jì),既要選擇適當(dāng)?shù)妮斎?/輸出電容、輸出電感,又要選擇符合要求的 FET,增加了設(shè)計(jì)難度和總成本。此外,由于 FET 外置,占用空間也相對(duì)較大。目前 DC/DC 控制器芯片市場(chǎng)上非常多,比如 TI, Linear, Maxim, National 等公司都有相應(yīng) 的產(chǎn)品 ,規(guī)格也相當(dāng)全,僅 Maxim 一家就有數(shù)十種此類產(chǎn)品 。 MAX1951 是 MAXIM 公司的一款高效的 DCDC 電源轉(zhuǎn)換芯片,主要用于 DSP、 FPGA、 ASIC 的內(nèi)核及 I/O 口供電。 其高達(dá) 94%的轉(zhuǎn)換效率、 8 腳8 的 SOP 表貼封裝及連續(xù)工作時(shí) 956 mW 的低功耗使其特別適合于便捷式電子設(shè)備的應(yīng)用。 MAX1951 的輸入電壓范圍為 ~ V,輸出電壓范圍為 V~ Vin(可調(diào)輸出 ),輸出電流可達(dá) 2 A,精度可達(dá) 1%,開關(guān)頻率為 1 MHz,輸出效率達(dá) 94%,且內(nèi)含過載及過熱保護(hù)電路 。 本文給出了采用該器件為FPGA 系統(tǒng)供電 。 1 2 3 4 5 6 7 8 9 10 11 12ABCD121110987654321DCBAGNP3IN8C O M P5V C C1LX7PGND6FB4REF2U4M A X 1 95 1R35KR210KL118uHC4 FC3 FR137 .2KC2150nFC5 FR410KC110uF5V 5V圖 2 4 MAX1951 電源電路圖 輸入器件參數(shù)的設(shè)計(jì)輸入濾波電容主要是用來降低供電系統(tǒng)的電流峰值、電壓紋波和電路開關(guān)噪聲的影響,使芯片的輸入電壓紋波控制在 3%以下。圖 34 中 4R 、 5C 、 3C 分別為旁路電阻、旁路電容及參考旁路電容,一般取圖中定值即可。 輸出器件參數(shù)的設(shè)計(jì) : 輸出分置電阻一般默認(rèn)設(shè)計(jì)的反饋輸入電壓為 V,也可以根據(jù)所要輸出的電壓 OUTV 來設(shè)計(jì) 2R , 3R 的阻值,一般取 2R 的值在 2~ 20K 之間。 3R 的計(jì)算式如下: 32 [ ( / ) 1 ] 5O U T F BR R V V K? ? ? ? ( 22) 圖 34 中,補(bǔ)償電阻 1R 和補(bǔ)償電容 2C 組成的補(bǔ)償環(huán)路可用來提供穩(wěn)定的寬帶補(bǔ)償, 1R 與 2C 的計(jì)算式如下 : 9 34()12/1 /[ 2 ( ) ]/3 7 .2150M O D M C LO A D P M O D CP M O D LO A DLO A D O U T O U T M A XG g R f ff C R RR V IRKC n F???????? ( 23) K 為高頻時(shí)回路的修正參數(shù),其值與輸出電容有關(guān),一般在 10μF 時(shí)取, 22μF 時(shí)取 。 VFB 為參考電壓 (一般取 V)。 gmEA 取定值 60μs。MCg 定值取 。 MODG 為 DC 調(diào)制增益, LOADR 為輸出負(fù)載,上式中未知變量的計(jì)算式如下: ()/1 / [ 2 ( ) ]/M O D M C L O AD PM O D CPM O D O U T L O AD ESRL O AD O U T O U T M AXG g R f ff C R RR V I????? ( 24) 式中, OUTC 為閉環(huán)增益交叉頻率,一般取值小于等于 1/ 5 的開關(guān)頻率。ESRR 一般取 ? 。有了以上參數(shù), 1R 、 2C 的值便可計(jì)算得出。 12 nF??? 時(shí)鐘設(shè)計(jì) 根據(jù) NE555 的工作原理,當(dāng)芯片 4 腳處于高電位的時(shí)候, NE555 有時(shí)鐘脈沖輸出,否則 芯片停止工作。本設(shè)計(jì)將 4 腳直接的連接 到芯片電源,使其一直處于高電位的狀態(tài),芯片一直工作,其電路如圖 35 所示。 時(shí)鐘脈沖的形成由 1 2 1,R R C 組成,其震蕩頻率為: 1 2 11 .4 4 /( 2 )f R R C?? 參考的頻率在 1MHz 左右,可以通過 2R 的大 小來調(diào)節(jié)。 10 1 2 3 4 5 6 7 8 9 10 11 12ABCD121110987654321DCBAC2 uFC28 43766215N E 55 511R1R2+ 12 圖 2 5 555 多頻信號(hào)源 實(shí)現(xiàn) FPGA 與 PC 串行通信 電子點(diǎn)菜系統(tǒng)在實(shí)際應(yīng)用的時(shí)候,通常要與計(jì)算機(jī)相連接,使其能夠 達(dá)到更加穩(wěn)定、更多功能的運(yùn)行 。 通過串行通信,可以向 FPGA 發(fā) 送 控制命令讓其執(zhí)行相應(yīng)的操作,同時(shí)把需要的數(shù)據(jù)通過串口發(fā)到 PC 上進(jìn)行相應(yīng)的數(shù)據(jù)處理和分析,以此來判斷 FPGA 是否按設(shè)計(jì)要求工作 。 設(shè)計(jì)包括三部分: 通過向 I/O 端口發(fā)送高低電平以達(dá)到控制外部硬件的要求 ; 完成芯片內(nèi)部邏輯的變化 ; 將需要的數(shù)據(jù)先存起來 (一般采用內(nèi)部或外部 FIFO),然后通過串口將數(shù)據(jù) 發(fā)送到 PC, PC 將接收的數(shù)據(jù)進(jìn)行處理和分析。串口采用標(biāo)準(zhǔn) RS232 協(xié)議,主要參數(shù)的選擇:波特率 28800bit/s、8 位有效位、無奇偶校驗(yàn)位、 1 位停止位。 FPGA 中各模塊的實(shí)現(xiàn) 如下: ⑴ 分頻模塊 : 設(shè)計(jì)中需要將 外部輸入的 32MHz 的信號(hào)分成頻率為11 153600Hz 的信號(hào) 作為其他模塊的時(shí)鐘基準(zhǔn)。具體實(shí)現(xiàn)時(shí)采用一個(gè) 6 位計(jì)數(shù)器,將計(jì)數(shù)器的溢出作為時(shí)鐘的輸出即可實(shí)現(xiàn)整數(shù)分頻。 ⑵ 發(fā)送接收模