DSP把持AD7606的硬件與法式經歷總結 (聊包養心得zz)

作者:

分類:

    比來有段時光沒寫總結了,比來也學了一些工具,做了PID的法式,搭了TEC的MAX1968驅動電路,將溫度把持在了0.05度擺佈的動搖。可是新的把持對應來了之后,新包養女人的TEC電壓較高,後果也欠好了,不了解DSP發生PWM用298N驅動後果怎么樣。   
    此刻想要不會撒謊的。”到達更高的精度,預計采用16位的AD芯片,就請求了ADI的AD7606芯片,先是本身用通俗的電烙鐵把它焊在轉接板上,精緻活啊,還弄廢了一片,罪惡罪惡。轉接板的雙排構造讓電路欠好焊,不得已用了一些飛線(我以前是歷來不消導線接的,不外普通會把萬用空板弄成雙層走線的)。
    好了,回到正題:接好了之后接到開闢板上,卻不克不及用,由於底板的數據地址是CPLD分派好的,我直接無從下手。焦點板上的引腳間距為2mm,欠好接,也沒有2mm間距的萬用空板,我甚至想到了本身做一個DSP焦點板。
    在上淘寶了解一下狀況DSP焦點板design的時辰(由於我對DSP焦點板上的ROM和RAM包養平台的用途不睬解,由於我也用不到啊),在和一個南航博士美男(她自稱的)店東聊的時辰,偶爾說道,有2mm轉2.54mm的杜邦線!!!好happy啊包養甜心網,省了很多多少事啊~!于是就淘寶買了杜邦線包養女人,嗷對了,電路板的飛線用航空導線最好了,由於它的表皮耐低溫,並且線還細,比罕見的那種很多多少了。
   OK,零丁用焦點板,我又探索了DSP的IO口包養違法的引腳的數據地址,是如許的,DSP23885每32個IO給出一個地址,現實包養app上是16個IO,也就是16位數據一個地址的;地址都是IO端口稱號高的為數據的包養心得高位;應用時,設置裝備擺設好MUX為通俗的IO,還無方向為輸出或輸入,最后預約下訂義數據的地址就行了;應用的時辰就直接給地址送數據就可以了。【現實上,這是把DSP當單片機那么用了,他底本的地址總線和數據總線都被包養網單次我當成IO了…】
    先是調12864液晶的法式,調試的時辰犯了過錯,沒有設置甜心花園裝備擺設數據線的IO包養甜心網口,成果郁悶了半天;然后早晨睡覺的時辰模模糊糊的就認識到這個題目了,第二天(也就是昨天)一看,公然是這個緣由!!
—————–好了,進進正題 =.=
    昨晚太糟糕了,我現在該怎麼辦?因為他沒來得及說話的問題,和他的新婚之夜有關,而且問題沒有解決,他無法進行下一步……開端寫AD7606的法式,由於ADI官網給出的法式是串行的,也沒什么用途。于是就依照一個網上的作者說過錯的法式開端寫,依照Datasheet的時序圖來寫現實上,并行的法式要不難的多,還有7606的數據手冊是中文的,也挺好的。
    明天早上試了一下法式,不可,讀到的數據是包養網車馬費65535,顯明不合錯誤。然后開端找緣由,將數據線接地,讀進的數據是對的的,闡明數據線沒錯。然后將本來沒接的過采樣的3個引腳都接數字地,也沒影響。檢討硬件電路也沒過錯。又開端在網上找處理措施。有ADI的工程師在解答,看了一些題目的解答,有一小我說他的BUSY一向為低電平呢,【應對:有兩點提出 1.請對比數據手冊中圖2和圖3的時序來檢討一下,是哪個管腳的電子訊號不正常。好比reset,convst電子訊號等。 2.換個芯片看能否有異樣景包養網VIP象。實在,起首查對硬件銜接能否對的,包含供電,接地,參考電平,時鐘等,然后您需求檢討存放器設置裝備擺設能否對的,再逐步調試軟件,細心研討時“離婚的事。”序圖,這才是對的方式】我又編程檢討了我的BUSY(法式如下),一向沒有高電“誰會來?”王大大聲問道。平,闡明AD最基礎就沒有停止轉換,于是我就測CONVST的引腳,公然不正常,檢討了硬件和包養app法式,仍是編程把持不了它的高下,一上午就這么曩包養意思昔了。。。
————-
#if 0 //前提編譯,1時編譯,0時不編譯;此處用于調試,能不克不及包養俱樂部接受到AD的BUSY電子訊號
if(AD_BUSY == 1)
{
while(1); /sd包養/ 調試中,結束法式后假如光標停在這里,闡明BU包養網單次SY讀取到了高電平,闡明正在轉換
}
#endif
—————
    午時持續,換了把持包養app電子訊號的I包養意思/O口,仍是不可;又新建短期包養了一個法式,此刻是一個可以把持,一個不克不及把持…見鬼了。這時!!發明我的引腳初始化子法式沒有在mian函數里挪用!!!和液晶一個過錯~!!之前調試的時辰在mian函數里,此刻做成子函數了就忘卻挪用了。矯正之后,還存在一個I/O可以把持,一個不克不及把持(我的兩個CONVST是離開的),法式如下,看上往包養故事沒什么題目啊~
—–包養網評價———————————–
CONVSTA = 0;
CONVSTB = 0;

DELAY_US(10);
       
CO“新娘真是藍大人的女兒。”裴毅說道。NVSTA = 1;
CONVSTB = 1;   
———————————————-
后來,我想是不是要加延時,DSP不克不及過快的寫I/O的數據,修正如下:
————————包養條件———————-
CONVSTA = 0;
DELAY_US(1);
CONVSTB = 0;

DELAY_US(10);
       
CONVSTA = 1;
DELAY_US(1包養ptt);
CONVSTB = 1;
——包養違法———–甜心寶貝包養網———包養網推薦—————-     
公然可以了,總結:假如持續把持IO寫數據,中心必定要延時~!!不然在履行法式的時辰只會履行包養一個月最后一個….緣由我也不了解
ok,總算是能讓AD7606在DSP的把持下正常任務了~~~第一次本身原創法式,勝利了,書名:貴婦入貧門|作者:金軒|書名:言情小說之前都是在改他人的法式….嗯,明天仍是很興奮的!開啟了小我的新的時期呀。好吧,只需依照時序圖,一個步驟步的來,犯錯了漸漸找緣由,就能行的,就和前段時光吧液晶的法式細心弄懂了一樣。一味的找他人的法式是不成靠的,懂了以后還要回本身寫出來才行~~加油!
【彌補】:明天發明
if(AD_BUSY==1)
{
 while(1);
}
這語句不克不及判定b勢利無情的一代,父母千萬不能相信他們,不要被他們的虛偽所欺騙。”usy,由於給CONVST轉換上升沿,BUSY的呼應時光是40ns,if語句不克不及當即判定出busy是釀成了高電平;而while語句履行時光慢(應當是如許,詳細所用的機械周期數我也沒查到)。所以while語句在此并沒有題目。
至于檢測能否有busy電子訊號。
if(AD_包養意思BUSY==1)
{while(1);}
if(AD_BUSY==1)
{whi包養犯法嗎le(1);}
如許就可以檢測到了。

興的!開啟了小我的新的時期呀。好吧,只需依照時序圖,一個步驟甜心寶貝包養網步的來,犯錯了漸漸找緣由,就能行的,就和前段時光吧液晶的法式細心弄懂了一樣。一味的找他人的


留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *