DDS芯片AD9850的工作原理及其與單片機的接口
單片機與AD9850的接口既要客商用并行方式,也可采用串行方式,但為了充分發(fā)揮芯片的高速性能,應(yīng)在單片機資源允許的情況下盡可能選擇并行方式,本文重點介紹其并行方式的接口。
3.1 I/O方式并行接口
I/O方式的并行接口電路比較簡單,但占用單片機資源相對較多,圖8是I/O方式并行接口的電路圖,AD9850的數(shù)據(jù)線D0~D7與P1口相連,F(xiàn)Q-UD和W-CLK分別與P3.0(10引腳)和P3.1(11引腳)相連,所有的時序關(guān)系均可通過軟件控制實現(xiàn)。
將DDS控制字從高至低存放于30H至34H中,發(fā)送控制字的程序清單如下:
MOV R0,#05H
MOV R1,#30H
DD:MOV P1,@R1
SETB P3.1
CLR P3.1
INC R1
DJNZ R0,DD
SETB P3.0
CLR P3.0
END
在程序中,每將一字節(jié)的數(shù)據(jù)送到P1口后,必須將P3.1(W-CLK)置高。在其上升沿,AD9850接收到P1口相連的數(shù)據(jù)線上的數(shù)據(jù),然后將 P3.1 置低,并準(zhǔn)備下一字節(jié)的發(fā)送,連續(xù)發(fā)送5個字節(jié)后,須將P3.0(FQ-UD)再次置高,以使AD9850根據(jù)則輸入的控制字更改頻率和相位輸出,隨后再置P3.0為低,準(zhǔn)備下一組發(fā)送。單片機的P3.0、P3.1引腳為串行口,當(dāng)被占用時,W-CLK和FQ-UD引腳也可與其它I/O腳相連,這時需要修改相應(yīng)的發(fā)送程序。
3.2 總線方式并行接口
總線方式并行接口占用的單片機資源較少,在這種方式下,AD9850僅作為一擴展芯片而占用RAM的一段地址,必須時也可以只占用一個地址。圖7是總線方式并行接口的電路原理圖。同樣將DDS控制字從高至低存放于30H至34H中,發(fā)送控制字的程序清單如下:
MOV R0,#05H
MOV R1,#30H
MOV DPTR,#0700H
DD:MOV A,@R1
MOVX @DPTR,A
INC R1
DJNZ R0,DD
MOVX A,@DPTR
END
AD9850 的W-CLK和FQ-UD信號都是上升沿有效,用MOVX @DPTR,A指令向AD9850傳送控制字時,由74F138將高八位地址的低三位譯碼,其輸出經(jīng)反相并與反相后的信號相與得到一上升沿送至 AD9850的W-CLK腳,此時已送到總線上的數(shù)據(jù)將被AD9850接收,連續(xù)五次將40位的控制字全部發(fā)送以后,用MOVA A,@DPTR指令產(chǎn)生FQ-UD信號,使AD9850更改輸出頻率和相位,此時讀入到單片機內(nèi)的數(shù)據(jù)實際上無任何意義。圖7中AD9850的地址為 0700H。
上述兩種接口方式經(jīng)實際應(yīng)用證明:工作可靠,效果良好。單片機與AD9850的串行接口可參照有關(guān)資料進(jìn)行設(shè)計。上述接口電路和程序也適用于與 AD9850 腳對腳兼容的AD9851,值得注意的是:AD9851的控制字與AD9850控制遼中別位的定義稍有區(qū)別,編程時應(yīng)予以注意。
評論