【文章內(nèi)容簡介】
,DACB控制信號與微處理器接口。當和均為低電平時,TCL7528模擬輸出(由DACA/DACB控制線指定)對DB0~DB7數(shù)據(jù)總線輸入端的活動做出響應。在此方式下,輸入鎖存器是透明的,輸入數(shù)據(jù)直接影響模擬輸出。當或信號變?yōu)楦唠娖綍r,DB0~DB7輸入端上的數(shù)據(jù)被鎖存,直至或信號再次變低為止。當為高電平時,不管WR信號的狀態(tài)如何,數(shù)據(jù)輸入被禁止。圖24 TLC7528時序圖根據(jù)的他的時序電路圖,由于當CS和WR同時低電平有效時才能輸出數(shù)據(jù),在輸入控制模塊設計了一段時序控制程序如下所示: IF(S=39。139。)THEN Q=Q+1。 IF Q1 THEN CS=39。039。 ELSE CS=39。139。 END IF。 IF (Q3 AND Q6) THEN WR=39。039。 ELSE WR=39。139。 END IF。 IF Q=111 THEN COUT=39。139。 Q=000。 ELSE COUT=39。039。 END IF。 END IF??刂撇糠植ㄐ螆D如下所示:圖25 TLC7528控制信號波形圖 總電路通過以上各個模塊的細化和分析,最終在Max+plusⅡ中完成了整個系統(tǒng)的聯(lián)合調(diào)試,并通過示波器讀輸出信號的波形符合設計的要求。調(diào)試整個系統(tǒng)了原理圖如下圖所示:圖 26 總電路圖整圖仿真圖 27 總電路圖仿真波形由此圖得出的結(jié)論:此為二分頻,幅度不變,方波信號,根據(jù)TLC7528的時序特點,在CS和WR同為低電平時,有模擬方波的輸出。 硬件測試(1)選擇目標器件 AssignDeviceDeviceFamilyFLEX10KEPF10K10LC843OK 圖 28 器件選擇窗口(2)啟動編譯器 Max+PlusIICompilerStart將以上模塊分別編譯通過,并將它們?nèi)勘4娴阶约核ǖ墓こ涛募A:kechengsheji1中。 引腳的鎖定確定設計實體輸入輸出端口與目標芯片引腳的對應關(guān)系圖29 引腳鎖定界面將管腳安排寫成表格形式如下表所示:表1 器件管腳安排端口管腳安排端口管腳安排端口管腳安排CLKINPUT=1DATA5OUTPUT=19S2INPUT=37DATA0OUTPUT=61DATA6OUTPUT=21TIAOFU0INPUT=36DATA1OUTPUT=62DATA7OUTPUT=22TIAOFU1INPUT=35DATA2OUTPUT=64RESETINPUT=28TIAOPIN0INPUT=30DATA3OUTPUT=65SOINPUT=39TIAOPIN1INPUT=29DATA4OUTPUT=18S1INPUT=38WROUT=231.用下載電纜把計算機的并口與目標板(實驗開發(fā)系統(tǒng)),連接好并打開電源。,然后將其在Max+plusⅡCompiler下編譯一次,將引腳鎖定圖在Max+plusⅡFloorplanEditor中打開,再編譯一次管腳。3. Max+plusⅡProgrammerOptionHardware SetupByteBlaster(編程方式為)Configute,雙擊Enter鍵,進行硬件驗證。 硬件驗證下載完成后,把示波器連接到實驗箱上,并在實驗箱上選擇適當?shù)臅r鐘頻率(以示波器上顯示的波形清晰為標準)。準備工作完成后按下實驗箱的鍵K1即復位鍵,鍵K2和K3即為頻率選擇開關(guān),鍵K4和鍵K5即為幅度選擇開關(guān)。鍵K鍵K鍵K8組合為波形選擇鍵,組合鍵的鍵值與對應波形關(guān)系如下表:表2 頻控按鍵鍵K2鍵K3對應產(chǎn)生的分頻00二分頻01四分頻10八分頻11 十六分頻表3 幅控按鍵鍵K4鍵K5對應產(chǎn)生的調(diào)幅00幅度不變01二分之一調(diào)幅10四分之一條幅11 八分之一條幅表4 按鍵與波形對應關(guān)系鍵K6鍵K7鍵K8對應產(chǎn)生的波形000遞減鋸齒波001遞增鋸齒波010三角波011階梯波100方波101正弦波當K1K2K3K4K5K6K7K8=00000101;輸出的是正弦波信號當K1K2K3K4K5K6K7K8=00001101;輸出的是2分頻后的正弦波信號當K1K2K3K4K5K6K7K8=00101101;輸出的是2分頻和1/2調(diào)幅后的正弦波信號。六、課程設計心得體會本次課程設計完成了智能函數(shù)信號發(fā)生器的設計與實現(xiàn),前后經(jīng)歷了幾周的時間,前期初步設計可謂是順風順水,但是由于試驗箱使用的D/A轉(zhuǎn)換器是TLC7528,中期在控制TLC7528的和上遇到了一些困難,后來在輸入控制模塊中采用了一個簡單的8進制計數(shù)器,實現(xiàn)了,與時鐘信號同步,繼而得到了模擬信號的輸出,不過在用示波器顯示波形時,卻總是得不到穩(wěn)定的波形,后來發(fā)現(xiàn)在輸入控制中,僅需要3位二進制數(shù)即能完成簡單的8進制計數(shù),自己卻習慣性的用了8位,這使得分頻現(xiàn)象嚴重,更改后即得到了了穩(wěn)定的輸出波形,但是波形的下半部分卻被消隱了,懷疑是基準電平的問題,對信號波形發(fā)生器進行了微調(diào),如:對于正弦波發(fā)生器,本來取值范圍是從0255,人為的提高了最低電平,采取了所有電平值除二加50的措施,最后果然波形輸出穩(wěn)定完好,試驗成功。當然本次課程還有很多不足之處,對于函數(shù)信號發(fā)生仍然可以使用LPM——ROM模塊,同時可以采用數(shù)控分頻對調(diào)頻智能控制,雖然連續(xù)調(diào)幅困難相當大,但是還是可以有時間一試。總的來說,在設計中遇到了很多問題,最后在老師的指導下,終于迎刃而解,有點小小的成就感,終于覺得平時所學的知識有了實用的價值,還使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從而提高自己的實際動手能力和獨立思考的能力。不僅學到了不少知識,而且鍛煉了自己的能力。參考文獻[1]盧毅,:科學出版社. [2] ,2005[3]王志鵬,付麗琴. 可編程邏輯器件開發(fā)技術(shù)MAX+[4][5]宋萬杰,羅豐,:西安電子科技大學出版社,1999附錄分頻模塊:LIBRARY IEEE。USE 。USE 。USE 。ENTITY CT74161 ISPORT(clk : IN STD_LOGIC。clk_div2 : OUT STD_LOGIC。clk_div4 : OUT STD_LOGIC。clk_div8 : OUT STD_LOGIC。clk_div16 : OUT STD_LOGIC)。END CT74161。ARCHITECTURE rtl OF CT74161 ISSIGNAL count : STD_LOGIC_VECTOR(3 DOWNTO 0)。BEGINPROCESS(clk)BEGINIF (clk39。EVENT AND clk=39。139。) THENIF(count=1111) THENCount = (OTHERS =39。039。)。ELSECount = count +1。END IF 。END IF 。END PROCESS。clk_div2 = count(0)。clk_div4 = count(1)。clk_div8 = count(2)。clk_div16 = count(3)。END rtl。SAWTOOTH_ADDER遞增鋸齒波函數(shù)發(fā)生模塊:LIBRARY IEEE。 USE 。 USE 。 ENTITY SAWTOOTH_ADDER IS PORT ( CLK,RESET:IN STD_LOGIC。 Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。 END ENTITY SAWTOOTH_ADDER。 ARCHITECTURE BEHAV OF SAWTOOTH_ADDER IS BEGIN PROCESS(CLK,RESET) VARIABLE TMP: STD_LOGIC_VECTOR(7 DOWNTO 0)。 BEGIN IF RESET=39。139。 THEN TMP:=00000000。 ELSIF CLK39。EVENT A