国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CY7C68013A的DDS信號發(fā)生器設(shè)計

2012-09-19 03:44:44
常州工學(xué)院學(xué)報 2012年5期
關(guān)鍵詞:固件字節(jié)校驗

黃 亮

(江蘇省數(shù)字化電化學(xué)加工重點實驗室(常州工學(xué)院),江蘇 常州 213002)

0 引言

隨著芯片技術(shù)的發(fā)展,直接數(shù)字頻率合成器(Direct Digital Frequency Synthesis簡稱 DDS或DDFS)的發(fā)展已經(jīng)很成熟,它不僅成本低、功耗小、集成化程度高,而且產(chǎn)生的信號具有分辨率高、頻率轉(zhuǎn)換時間短、控制靈活和全數(shù)字化等諸多優(yōu)點,因此已成為近年來頻率合成領(lǐng)域中的主流技術(shù)。AD9850是AD公司出品的一款采用CMOS工藝的低功耗專用DDS芯片,采用28腳SSOP封裝。AD9850內(nèi)含可編程DDS系統(tǒng)和高速模擬比較器,能通過并行或串行方式實現(xiàn)全數(shù)字編程控制的頻率合成。CY7C68013A是 Cypress符合USB2.0協(xié)議的高性能51內(nèi)核單片機,它可通過USB2.0協(xié)議進行高速數(shù)據(jù)傳輸,另外還帶有UART等通信端口。利用這些通信端口與外部設(shè)備通信,讓51內(nèi)核了解外部設(shè)備的具體要求,通過串行方式控制AD9850產(chǎn)生外部設(shè)備所要求的頻率輸出,實現(xiàn)數(shù)字化的DDS控制。模塊化設(shè)計可非常方便地與各種外部設(shè)備接駁,也方便在此基礎(chǔ)進行軟、硬件的二次開發(fā)。

1 系統(tǒng)硬件電路設(shè)計

系統(tǒng)硬件框圖如圖1,電源系統(tǒng)為各工作單元提供5 V和3.3 V直流工作電壓。5 V電壓可由USB提供,也可利用外接直流電源經(jīng)7805穩(wěn)壓得到。CY7C68013A單片機系統(tǒng)負(fù)責(zé)接收處理來自USB和兩串口的數(shù)據(jù),控制AD9850輸出特定的頻率,并不斷刷新LCD12832液晶顯示實時的參數(shù)信息,按鍵可用于DDS頻率或其他參數(shù)的手動輸入。AD9850輸出電流波形經(jīng)過電流電壓轉(zhuǎn)換、低通濾波后可獲得兩路相位正交的正弦波信號,正弦波經(jīng)內(nèi)部高速模擬比較器又可獲得兩路相位反相的矩形波輸出。

圖1 硬件框圖

1.1 CY7C68013A最小系統(tǒng)

CY7C68013A有3種封裝,這里采用具有雙串口的100引腳QFP封裝,圖2為CY7C68013A最小系統(tǒng)簡圖,沒有連接的引腳和IO口沒有標(biāo)出,所有的VCC腳都接到+3.3 V電源,所有的GND都接到電源負(fù)極。AVCC和AGND可以分別通過一個電感接VCC和GND。使用頻率為24 MHz外部晶振以適應(yīng) UBS 2.0的通信速率。DPLUS和DMINUS引腳為USB的通信端口,通過一個 MINIUSB母口與計算機連接,實現(xiàn)和USB主機的高速數(shù)據(jù)傳輸。復(fù)位RESET和喚醒WAKEUP都通過一RC電路接到電源和負(fù)極,為方便固件程序調(diào)試,在復(fù)位端增加一輕觸按鍵連接一小阻值電阻R15到電源負(fù)極,用來實現(xiàn)手動復(fù)位。AT24LC64用來存儲USB固件程序,根據(jù)要求A0地址線需接高電平。跳線JP2和JP3用于在調(diào)試階段隔離AT24C64的數(shù)據(jù)線和時鐘線,跳線開路時可直接通過Cypress官方提供的控制臺程序?qū)⒐碳螺d到單片機內(nèi)部運行;固件完善后可短接跳線,將IIC文件下載到此存儲器內(nèi)進行C2方式加載運行。系統(tǒng)3.3 V電源由5 V電源經(jīng)LM1117-3.3穩(wěn)壓后得到。

圖2 CY7C68013A最小系統(tǒng)

1.2 外圍硬件

外圍硬件電路如圖3,其中圖3(a)為串口0引出接口,通過CZ7使用3.3 V TTL電平和其他嵌入式系統(tǒng)通信。圖3(b)為LCD液晶接口,液晶采用深圳晶聯(lián)訊公司的JLX12832點陣液晶模塊,此款液晶使用ST7565作為驅(qū)動IC,可使用串行方式進行連接,只占用5根IO口線,節(jié)省了硬件資源。圖3(c)是串口1接口,使用MAX3232電平轉(zhuǎn)換后,通過CZ5實現(xiàn)與外部的RS232通信,方便與具有RS232接口的工控系統(tǒng)通信。圖3(d)為鍵盤接口,按鍵采用獨立式鍵盤,每個按鍵占用1個IO口線,可根據(jù)具體需要增減按鍵數(shù)目。圖3(e)是 AD9850芯片及其外圍元件,AD9850采用125 MHz有源晶振作為時鐘源,與單片機的接口采用串行方式,為此需將D0和D1接到高電平,D2~D6接到低電平,D7用作串行通信數(shù)據(jù)線。IOUT和IOUTB輸出兩路正弦電流信號,流經(jīng)R29和R26后得到電壓信號,通過C40和C36耦合輸出,方波的產(chǎn)生需將兩路正弦電壓信號輸入到內(nèi)部高速模擬比較器,在比較器的VOUTP和VOUTN端得到兩路反相的方波信號。

2 軟件設(shè)計

圖3 外圍硬件電路

圖4 流程圖

軟件采用模擬操作系統(tǒng)的方式編寫,程序流程圖如圖4,USB在上電設(shè)備枚舉過程中會進行初始化。初始化LCD后顯示復(fù)位時的默認(rèn)頻率,同時控制AD9850輸出該初始頻率,之后主循環(huán)開始輪詢USB、串口0以及串口1的有效標(biāo)志位。如相應(yīng)的標(biāo)志位為1,說明在該通信模式下收到有效數(shù)據(jù),外部有改變輸出頻率的請求,主循環(huán)檢測到標(biāo)志位后便根據(jù)要求改變DDS的輸出頻率,同時清除該標(biāo)志位。圖3(b)、(c)、(d)分別為自定義UBS請求串口0、串口1的中斷流程圖,在各自通信協(xié)議內(nèi)進行數(shù)據(jù)的接收和協(xié)議的解析,扮演了消息投遞者的角色。一旦檢測到有效數(shù)據(jù)流便設(shè)置相應(yīng)的標(biāo)志位,相當(dāng)于把消息投遞給主程序,主程序不斷查詢這些標(biāo)志位,一旦收到消息便及時處理,更新DDS頻率輸出,并不斷刷新LCD顯示,使顯示信息和輸出頻率保持一致。如需手動輸入頻率或其他工作參數(shù)可在主循環(huán)中加入掃鍵程序。

2.1 主要功能的C語言實現(xiàn)

Cypress公司提供了比較完善的USB固件代碼范例,只需在固件范例的基礎(chǔ)上增加相應(yīng)的功能代碼便可實現(xiàn)具體的用戶功能。在main()函數(shù)中有一個TD_Init()函數(shù),用來初始化各種變量和外圍硬件。用戶只要把自己的各類初始化功能代碼添加到此函數(shù)的結(jié)尾部分,單片機復(fù)位后便會調(diào)用這些初始化代碼,具體C語言程序?qū)崿F(xiàn)如下:

用戶的任務(wù)函數(shù)則放在while(TRUE)主循環(huán)的TD_Poll()中,主程序會不斷地循環(huán)執(zhí)行,C語言程序?qū)崿F(xiàn)如下:

2.2 標(biāo)志位的產(chǎn)生

對于COM0和COM1的通信,都采用中斷方式接收外部數(shù)據(jù),每收到1個字節(jié)便會產(chǎn)生對應(yīng)的中斷。只要自定義一種數(shù)據(jù)流格式,規(guī)定開頭字節(jié)、結(jié)尾字節(jié)、數(shù)據(jù)長度及校驗字節(jié),串口中斷程序便可根據(jù)此格式處理收到的數(shù)據(jù)。開始先查找起始字節(jié),如找到則連續(xù)接收后面固定長度的數(shù)據(jù),如最后一個字節(jié)正好為規(guī)定的結(jié)尾字節(jié),則進行數(shù)據(jù)校驗,校驗正確后設(shè)置相應(yīng)有效標(biāo)志,中間有任意一個環(huán)節(jié)出錯則丟棄全部數(shù)據(jù),然后重新進行起始字節(jié)的查找。

CY7C68013A的USB中斷由固件統(tǒng)一管理,每個USB設(shè)備都必須具備端點0,以控制傳輸?shù)姆绞矫杜e設(shè)備,USB協(xié)議使用差錯控制和重試機制來保證數(shù)據(jù)傳輸?shù)恼_性和可靠性,因此采用控制傳輸通信是非常可靠的,可以省去校驗過程。具體實現(xiàn)過程是在固件的SetupCommand()函數(shù)中添加自定義請求,相關(guān)C語言程序如下:

自定義的REQ_DDS是一個宏代換,在FX2.H頭文件中進行定義,需要注意的是不能和標(biāo)準(zhǔn)請求宏發(fā)生沖突,若0xA1沒有被使用,就可以這樣定義:#define REQ_DDS 0xA1。

2.3 軟件調(diào)試

上電后液晶顯示初始化界面,并輸出1 000 Hz頻率。

在進行USB接口調(diào)試時,可以用Cypress控制臺程序向設(shè)備發(fā)送A1請求,后面跟上需要產(chǎn)生的頻率信息,如A1 00 00 01 23 45,可以解析為產(chǎn)生12.345 kHz的頻率輸出,發(fā)送A1的DDS自定義請求后,就可以用示波器在正弦波輸出端測量到該頻率信號。

串口0和串口1的調(diào)試方法基本相同,只是串口0可以用3.3 V的TTL232直接進行調(diào)試,串口1需用RS232方式,上位機都采用串口調(diào)試軟件,約定每次發(fā)送16個字節(jié),以0xE1開頭,0xEA結(jié)尾。0xE1后面跟上頻率信息,0xEA前1個字節(jié)即倒數(shù)第2個字節(jié)為校驗字節(jié),它等于前面14個字節(jié)累加的和,用以簡單的數(shù)據(jù)校驗。需要產(chǎn)生12.345 kHz頻率時,可以用串口調(diào)試軟件發(fā)送如下16個字節(jié):

其中4A為其前14個字節(jié)的累加和。以HEX方式發(fā)送到設(shè)備后,同樣可以觀測到正弦波形,同時可以在AD9850的比較器輸出端觀測到同頻率的兩路反相方波信號。

3 結(jié)語

該DDS信號發(fā)生器結(jié)合了比較高級的CY7C68013A單片機,實現(xiàn) USB2.0、TTL232以及RS232的通信控制,非常方便與各種外設(shè)進行互聯(lián),也方便在此基礎(chǔ)進行軟、硬件的進一步開發(fā),信號輸出穩(wěn)定,性價比高,正弦頻譜單純凈,頻率分辨率高。

[1]Cypress Semiconductor Corporation.EZ-USB ? FX2LPTMUSB Microcontroller High-Speed USB Peripheral Controller[EB/OL].[2012 -11 -01].http://www.cypress.com/?docID=34060.

[2]薛園園,趙建領(lǐng).USB應(yīng)用開發(fā)寶典[M].北京:人民郵電出版社,2011.

[4]趙燕徐,鄭茹瓊,蔡順燕.基于AD9850的可編程信號源的設(shè)計[J].信息技術(shù),2010(7):116-118.

[3]許德志,丁才成.一種基于DDS技術(shù)的信號發(fā)生器研究與實現(xiàn)[J].電子科技,2010(3):60-61.

猜你喜歡
固件字節(jié)校驗
No.8 字節(jié)跳動將推出獨立出口電商APP
No.10 “字節(jié)跳動手機”要來了?
爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
簡談MC7字節(jié)碼
基于固件的遠程身份認(rèn)證
大型電動機高阻抗差動保護穩(wěn)定校驗研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗方法
提取ROM固件中的APP
電腦愛好者(2015年7期)2015-04-09 08:54:02
鍋爐安全閥在線校驗不確定度評定
一種通過USB接口的可靠固件升級技術(shù)
左权县| 宜川县| 绥棱县| 太湖县| 渭南市| 沅陵县| 夏河县| 荥阳市| 莫力| 道孚县| 东海县| 新乡市| 丹巴县| 阜城县| 理塘县| 山阴县| 绥滨县| 东宁县| 桐庐县| 阿鲁科尔沁旗| 札达县| 陇南市| 屏东市| 同仁县| 米林县| 伊川县| 隆尧县| 黄平县| 井冈山市| 漳平市| 天津市| 天峨县| 浑源县| 广丰县| 越西县| 吉林省| 确山县| 湄潭县| 三穗县| 谷城县| 吉安市|