AD9779A的寄存器配置及PLL頻帶優化
AD9779A內部有32個寄存器,每個寄存器8位,每位都有自己特定的功能。AD9779A的主要寄存器如表3所列。
表3 AD9779A的主要寄存器
3 AD9779A的寄存器配置
3.1 硬件設計
本文采用三星公司S3C2440作為為整個系統的控制芯片。S3C2440是ARM微處理器,它包含LCD控制器、SDRAM控制器、3通道UART、音頻接口、USB控制器、2通道SPI等,其低成本、高性能的特點適用于各種嵌入式領域。S3C2440作為主設備對從設備AD9779A進行配置的硬件連接如圖2所示。
圖2 S3C2440和AD9779A的接口
S3C2440A的SPI接口可以和外部設備同時發送/接收8位數據,用一個時鐘線來同步。當SPI是主機時,傳輸頻率通過設定SPPREn寄存器的相應位來控制,最高速率應小于25 MHz。如果SPI是從屬,其他的主機提供時鐘。設置一個GPIO作為nSS,當程序寫數據到SPTDATn寄存器時,如果ENSCK、SPCONn寄存器的MSTR被置位,SPI發送/接收操作會同時開始。在寫字節數據到SPTDATn之前,nSS應該被激活。
SPI接口編程基本步驟如下:
①設置時鐘波特率預分頻寄存器(SPPREn);
②設置SPCONn配置SPI模塊;
③設置一個GPIO引腳,其作為nSS,低電平片選使能;
④發送數據→檢查數據傳輸準備標志(REDY=1)的狀態,然后寫數據到SPTDATn;
⑤接收數據→寫數據0xFF到SPTDATn→確認REDY置1,然后讀取緩存數據;
⑥nSS拉高,解除片選。
3.2 軟件設計
軟件設計主要實現S3C2440讀寫AD9779A寄存器的功能,為后面的PLL頻帶鎖定做準備。在ARM Realview MDK環境下使用C語言編寫軟件。
評論