<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>電子通信論文>TMPN3150與TLC0832的兩種接口實現方法

      TMPN3150與TLC0832的兩種接口實現方法

      時間:2023-02-21 00:12:17 電子通信論文 我要投稿
      • 相關推薦

      TMPN3150與TLC0832的兩種接口實現方法

        摘要:根據神經元芯片TMPN3150的兩種I/O模式,給出了該神經元芯片與A/D芯片TLC0832實現接口的兩種不同方法,同時給出了硬件電路和軟件程序,并對兩種方法進行了比較。
        關鍵詞:Neuron芯片TMPN3150A/D芯片TLC0832
        
        1引言
        
        在傳統的工業控制中,現場的傳感器與控制器之間總是以4~20mA的直流電流或1-5V的直流電壓來傳遞信息的。隨著工業控制技術的不斷發展,工業控制系統正向著數字化、智能化、網絡化和開放化的方向發展。因此,模擬傳輸漸漸被數字傳輸所取代。而現場總線(FieldBus)則可以很好地適應工業控制技術發展的趨勢,是對成熟控制系統結構的根本變革。LonWorks總線是美國Echelon公司于1991年提出的一種現場總線,它采用面向對象的設計方法,通過網絡變量把網絡通信設計簡化為參數設置。LonWorks技術的核心是神經元(Neuron)芯片,這個神經元片中有三個8位的CPU,它們不僅可以用作LonWorks總線的通信處理器,而且還可以用作采集和控制的通用處理器。本文介紹具有串行口的A/D芯片TLC0832與作為通用處理器的神經元芯片的兩種接口實現方法。
        
        2Neuron芯片和TLC0832的基本特性
        
        2.1Neuron芯片的基本特性
        
        LonWorks網絡是由節點構成的,每個節點包括一片Neuron芯片、傳感和控制設備、收發器和電源。其中,Neuron芯片是節點的核心,它具有3個CPU:CPU-1是介質訪問處理器,CPU-2是網絡處理器,CPU-3是應用處理器。Neuron芯片家族中的最初成員是Neuron3120xx和Neuron3150芯片。3120xx芯片中包括EEPROM、RAM、ROM存儲器,而3150芯無內部ROM,但擁有訪問外部存儲器的接口,其尋址空間可達64kB,可用于開發更為復雜的應用系統。
        
        Neuron芯片通過11個引腳(IO-0~IO-10)與外部硬件相連。這11個引腳可定義34種I/O對象,用戶可根據實際應用需要在應用程序中定義不同的I/O對象,如直接的I/O對象、并行I/O對象、串行I/O對象和定時器/計數器輸入/輸出對象等。
        
        2.2TLC0832的基本特性
        
        TLC0832是八位逐次逼近模數轉換器,它有兩個可選擇的輸入通道。TLC0832的特點如下:
        
        *8位分辨率;
        
        *可和微處理器接口或獨立使用;
        
        *可滿量程工作或使用5V基準電源;
        
        *具有單通道或多路器選擇的雙通道,并可選擇單端或差分輸入;
        
        *采用單5V供電,輸入范圍為0~5V;
        
        *輸入和輸出與TTL和CMOS兼容;
        
        TLC0832處于工作狀態時,置CS端方可啟動轉換,并使所有的邏輯電路使能。CS在整個轉換過程中必須置為低電平,接著從處理器接受一個時鐘。當一個時鐘的時間間隔被自動插入后,可以使多種轉換器選定的通道穩定。而當DO脫離高阻狀態時,可提供一個時鐘的時間間隔的前導低電平,以使多路器穩定。SAR比較器用于對電阻梯形網絡輸出的逐次信號和輸入模擬信號進行比較,比較器輸出則用于表示劉大于還是小于電阻梯形網絡的輸出。在轉換過程中,轉換的數據同時從DO端輸出,并以最高位(MSB)開頭。在經過8個時鐘后,轉換完成,CS變高,內部所有寄存器清零,此時,輸出電路變為高阻狀態。如果希望開始另一個轉換,CS必須有一個從高到低的跳變,且后面應緊跟著輸入地址數據。
        
        TLC0832的輸入配置可在多路器尋址時序中進行,多路器地址通過DI端移入寄存器。用多路器地址選擇模擬輸入通道的方法如表1所列,其工作時序圖如圖1所示。
        
        表1選擇模擬輸入通道
        
        通道號CH0CH1輸入數據流(bit)110111
        3Neuron和TLC083的兩種接口方法
        
        3.1基于Neuron芯片NeurowireI/O模式方案
        
        如上所述,Neuron芯片TMPN3150的11個I/O腳有多種I/O模式,這里用的是Neurowire模式。這種方式把TMPN3150的I/O腳定義為NeurowireI/O對象,即同步全雙工串行通信模式,它每次最多可傳送255比特的數據流。NeurowireI/O對象可配置為主控方式和被控方式。當為主控方式時,IO8為移位時鐘信號輸出端,IO9為串行數據輸出端,IO10為串行數據輸入端,IO0~IO7可任選一個作為片選信號線。若Neuron芯片的輸入時鐘為10MHz時,則IO8的輸出時鐘頻率可選為1、10或20kb/s;當為被控方式時,IO8為移位時鐘信號輸入端,IO0~IO7可任選一個作為時間溢出信號引腳。
        
        a.方法1的硬件實現
        
        基于Neuron芯片的NeurowireI/O模式的硬件電路如圖2所示。圖中,IO0輸出片選信號。圖1中的輸入只畫了一路CH0,另一路CH1與CH0相同。當輸入為電壓信號時,J斷開;輸入為電流信號時,J連通。
        
        b.方法1的軟件實現
        
        神經元芯片的編程是采用NeuronC語言來完成的。NeuronC是專門為Neuron芯片設計的編程語言,它有著豐富的函數庫,可直接完成許多復雜的任務。
        
        基于Neuron芯片的NeurowireI/O模式的A/D接口程序如下:
        
        ////////IOObjection////////
        
        //定義為Neurowire主模式,A/D芯片的主選信號由IO0輸出初始化為1
        
        IO-8neurowiremasterselect(IO-0)ioA2D;;
        
        IO-0outputbitioA2Dselect=1;
        
        IO-1inputbitstart_adc;
        
        #pragmaignore_notusedioA2Dselect
        
        ////////functiondeclare////////
        
        unsignedlongadc(unsignedlonganalog_addr);
        
        ////////functiondefinition////////
        
        //A/D轉子函數
        
        unsignedlongadc(unsignedlonganalog-addr)
        
        //形參analog_addr傳遞要選擇的通道,選擇CH0時,analog_addr=0x06,選擇CH1時,analog_addr=0x07
        
        {
        
        unsignedlongadc_info;
        
        unsignedlongdigital_out;
        
        adc_info=(analog_addr<<13);
        
        io_in(ioA2D,&adc_info,16);//選擇通道,同時接收轉換的結果
        
        digital_out=adc_info&0x0ff0;
        
        digital_out=digital_out>>4;
        
        returndigital_out;
        
        }
        
        由于eurowireI/O對象是雙向的,即輸入、輸出同時進行。因此,調用io_in(ioA2D,&adc_info,16)時啟動了16位的雙向數據傳輸,該命令可將adc_info中的數以比特流的形式從IO-9輸送到TLC0832,同可時通過IO10從TLC0832的DO腳讀入16位數并放入adc_info。由TLC0832的工作時序圖(圖1)可以看出,接收到的16位數中的第5位到第12位就是轉換結果,所以做了后面的處理。
        
        3.2基于Neuron芯片的比特I/O模式方案
        
        TMPN3150和TLC0832的第二種接口實現方法是把TMPN3150的I/O腳定義為比特I/O對象,它可用以監控與Neuron芯片相連的I/O設備中某個引腳上的邏輯狀態,其中“0”為低電平,“1”為高電平。
        
        a.方法2的硬件實現
        
        方法2的硬件電路如圖3所示。圖中,輸入通道只畫了一路CH0,另一路CH1與CH0相同。當輸入為1-5V的電壓信號時,J斷開;當輸入與4-20mA的電流信號時,J連通。
        
        b.方法2的軟件實現
        
        NeuronC語言是從ANSIC中派生出來的,相對于ANSIC而言,它進一步擴展了用以支持由Neuron芯片中的固件提供的各種運行特性。
        
        方法2的A/D接口程序如下:
        
        ////////IOObjection////////
        
        //將IO腳定義為比特IO對象,
        
        IO-2inputbitio-do;
        
        IO-0outputbitcs;
        
        IO-3outputbitdi;
        
        IO-1outputbitclk;
        
        ////////functiondeclare////////
        
        intadc(intadc-addr);
        
        ///////functiondefinition//////
        
        //A/D轉換子函數
        
        intadc(intadc_addr)
        
        //形參analog_addr傳遞要選擇的通道,選擇CH0時,adc_addr=0x60;選擇CH1時,adc_addr=0x70//
        
        {
        
        intadc_inbit,digital_out=0;
        
        io_out(cs,0);
        
        io_out(di,0);
        
        for(i=0;i<3;i++)//選擇通道
        
        {
        
        io_out(clk,0);
        
        adc_addr=adc_addr<<1;
        
        if(adc_inf0&0x80)==0x80
        
        io_out(di,1);
        
        else
        
        io_out(di,0);
        
        io_out(clk,1);
        
        }
        
        io_out(clk,0);//一個時鐘的間隔
        
        io_out(clk,1);//以使多路器穩定
        
        for(i=0;i<8;i++)//接收轉換結果
        
        {
        
        io_out(clk,0);
        
        if(io_in(io_do)==1)
        
        {
        
        adc_inbit=1;
        
        adc_inbit=adc_inbit<<(7-i);
        
        digital_out=digital_out+adc_inbit;
        
        }
        
        io_out(clk,1);
        
        }
        
        io_out(cs,1)
        
        returndigital_out;
        
        }
        
        4結束語
        
        Neuron芯片不同于普通的微處理器,本文介紹的神經元芯片與A/D芯片TLC0832的兩種接口實現方法各有利弊,具體表現如下:
        
       。1)方法1是Neuron芯片所特有的,而方法2較通用,它不僅適用于Neuron芯片,而且適用于各種有I/O腳的微處理芯片;
        
       。2)方法1的硬件要求比較嚴格,可選的I/O腳只有一個,即片選信號輸出腳,而方法2腳把幾個與TLC0832相連的I/O腳視為普通的I/O腳,隨便哪個I/O腳都可與TLC0832相連(如果Neuron芯片的IO8、IO9或IO10已用,那只能選方法2了);
        
        (3)方法1編程較短,但不但于調試,而方法2則編程較長,但較為直觀,而且便于調試;
        
        (4)方法1的CLK占空比和時鐘速率較為穩定,而方法2的CLK占空比與指令執行時間有關。對于常用單片機的人來說,方法2較易上手,則方法1則更專業;方法2的硬件接法更靈活,但編程較長……總之,使用這兩種方法應根據實際情況靈活地作出選擇。
        
        
        
        

      【TMPN3150與TLC0832的兩種接口實現方法】相關文章:

      DSP與慢速設備接口的實現08-06

      RS232接口轉USB接口的通信方法08-06

      C語言實現串行通信接口程序08-06

      試論與社會保險系統接口的設計與實現08-05

      嵌入式設備鼠標接口的設計與實現08-06

      IIC總線通訊接口器件的CPLD實現08-06

      利用FPGA實現MMC2107與SDRAM接口設計08-06

      多 USB 接口的局域網接入技術的實現08-06

      USB接口的高速數據采集卡的設計與實現08-06

      主站蜘蛛池模板: 国产激情精品一区二区三区 | 国产日韩精品视频无码| 亚洲毛片不卡AV在线播放一区| 久久这里只有精品免费首页| 97色成人综合网站| 亚洲精品日本一区二区| 亚洲精品人妻中文字幕| 免费无码AV一区二区波多野结衣| 亚洲国产欧美在线人成大黄瓜| 日韩中文字幕综合第二页| 亚洲综合一区二区国产精品| 人妻中文字幕不卡精品| 天堂V亚洲国产V第一次| 亚洲中文字幕无码av永久| 成人无码h真人在线网站| 亚洲精品中文字幕二区| 国产高清乱码又大又圆| 日韩高清砖码一二区在线| 久久三级中文欧大战字幕| 国产一级av在线播放| 国产超碰无码最新上传| 久久亚洲精精品中文字幕| 国产SM重味一区二区三区| 国产欧美日韩精品丝袜高跟鞋| 久久亚洲精品成人综合网| 亚洲人成电影在线天堂色| 狠狠色狠狠综合久久| 国产av一区二区三区综合| 亚洲国产日韩一区三区| 国内精品久久人妻无码妲| 中文字幕自拍偷拍福利视频| 亚洲国产一区二区三区久| 精品国产免费一区二区三区香蕉| 日韩精品av一区二区三区| 亚洲国产精品一区第二页| 成年女人碰碰碰视频播放| 久久亚洲av成人无码软件| 国产乱码精品一区二区三上| 亚洲欧洲精品一区二区| 久久久噜噜噜久久| 日本熟妇乱一区二区三区|