国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于EPA和PTS的8XC196MC/MD的串行通信

發布時間:2010-8-2 10:21    發布者:lavida
關鍵詞: 8XC196MC , 8XC196MD , EPA , PTS , 串行通信
目前,在眾多應用領域中,出現了許多所謂"智能儀表"和"智能儀器",這些系統大多是以單片機為核心的計算機應用系統。在眾多的單片機中,Intel公司的8XC196MC/MD可謂其中的佼佼者。它是16位單片機中功能最強大的單片機之一,幾乎可以勝任各種測控工作,尤其在電機控制中備受青睞。然而由于8X196MC/MD單片機沒有提供硬件的通用異步收發器(UART),這給用慣了UART的用戶帶來了一些不便。但利用專門的PTS模式,不僅可以實現串行通信,而且操作更加靈活,效率更高,CPU的開銷也更小;既可以實現異步(ASIO)功能,也可以實現同步(SSIO)功能;波特率由EPA建立,包括校驗位和停止位在內,收發數據格式可達16位/字符。  

1 EPA和PTS概述

1.1 EPA及其工作原理

EPA(Event Processor Array,事件處理器陣列),類似于HSIO,用來處理與時間有關的輸入和輸出事件,但比其更靈活、更高效。在EPA中,主要提供兩類模塊--捕獲/比較模塊和獨立的比較模塊,用于實現捕獲和比較兩種功能。每個模塊都與指定的一個輸入/輸出引腳相關聯,支持其高速輸入輸出功能,所有模塊都能產生中斷。"捕獲"用來捕獲產生于引腳上的跳變事件,包括正跳變、負跳變和正負跳變,并記錄這些事件發生的時刻;"比較"是和預定的時間作比較,時間一到即執行以下選定的輸出功能:復位定時器,啟動一次A/D轉換,為波形發生器產生一個重裝載觸發信號,改變輸出引腳狀態等。  

1.2 PTS及其工作原理

PTS(Peripheral Transaction Server,外設事務服務器),是一種特殊的中斷響應方式。與普通中斷響應相比,PTS響應把同一個中斷映射到相應的PTS通道。該通道產生一個PTS周期,它就像DMA周期那樣插入到正常指令流中,不需要額外的軟件開銷,因此其CPU開銷要比一般的中斷響應少得多。PTS有一個PTS向量表,其排列次序和優先級順序與普通中斷向量相同,但去掉了NMI、非法操作碼和軟件陷阱3種中斷。除了NMI之外,所有的PTS通道的優先級高于任何一個普通中斷。每個PTS向量都指向一個PTS控制塊(PTSCB),控制塊說明了應執行的微代碼。它必須駐留在內部RAM空間內,每個控制塊包含8個字節,其首址應能被8除盡。

8XC196MC/MD有4種PTS工作方式,要實現串行通信需使用其SIO(串行輸入/輸出)方式。其中SIO有兩種方式:ASIO(異步串行I/O)和SSIO(同步串行I/O)。要工作于某一方式必須建立相應的控制塊(PTSCB)。與SIO方式相對應的控制塊有兩個,如圖1所示。此處只對BAUD和SAMPTIME加以說明。  




BAUD(LO和HI):存放控制SIO運行波特率的16位數據。異步方式下,由下式計算:FXTAL/(4×波特率×EPA預置值)。其中:FXTAL為XTAL1腳的輸入頻率,單位為Hz。

SAMPTIME:只用于異步接收多數采樣方式,用來指定采樣時間間隔,由下式計算:FXTAL×Tsam/2-9。其中,Tsam為采樣間隔時間(μs);FXTAL同上,但單位為MHz。  

2 利用EPA和PTS實現串行通信

2.1 基本思想  


利用EPA和PTS實現串行通信的基本思想是:首先,選擇一個EPA捕獲/比較模塊作為串行通信的接收模塊,選擇一個獨立比較模塊(或選擇一個捕獲/比較模塊而只利用其比較方式)作為串行通信的發送模塊,構成串行通信的硬件端口。然后,對所選的EPA模塊開辟相應的PTS通道,根據通信要求編寫發送和接收PTS模塊。EPA和PTS兩者聯合工作共同實現串行通信。  

2.2 應用實例及具體實現

下面以常用的異步串行通信方式為例介紹具體的實現原理和方法。本例用一個EPA捕獲/比較模塊CAPCOMP0產生移位時鐘,P2.O作發送端(TXD),波特率為9 600 bps,8位數據位,無校驗位,1位停止位,用定時器1作時基,16MHz晶振。由于篇幅所限,僅介紹異步串行發送。  

2.2.1 建立并定位控制塊

要利用PTS實現串行通信,必須首先定義相應的控制塊,并將其定位于能被8整除的首地址處;還要將控制塊地址賦給PTS向量。具體實現代碼如下:


   
2.2.2 發送初始化及PTS中斷子程序

在發送時,要用到EPA中的一個比較模塊,或者使用一個捕獲/比較模塊而使其工作于比較方式下,主要用作發送時產生移位時鐘,以保證指定的位周期。其具體過程如下:首先,在指定的發送引腳上產生一個下降沿(為確保產生下降沿,應先對該引腳置1),并根據指定的波特率對EPA比較模塊的時間寄存器(CAPCOMPx_TIME或COMPx_TIME)置值,以指定發送的位周期。然后,打開中斷和PTS功能,啟動數據發送過程;以后每隔一個位周期便會產生一個PTS周期,在每個PTS周期中,將DATA寄存器中的數據逐位移到指定的發送腳上,直到最后一位移出后,產生一次End_of_PTS中斷,該幀數據發送完畢。每幀數據的位數在控制塊的ptscount中指定。如果需要繼續發送數據,就要在中斷服務程序中對PTSCB、EPA時間寄存器和相應引腳重新初始化,再次啟動發送過程。發送數據保存在transmit數組中,發送幀數,即數據個數由T_Count控制。具體實現代碼如下:








   
2.2.3 在主程序中調用初始化子程序


   
結語  

該方法和實例已在實際應用中得到驗證。實踐證明其完全可以滿足串行通信的需要,而且效率更高,更加靈活。
本文地址:http://m.qingdxww.cn/thread-18402-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 粉嫩无套白浆第一次jk| 亚洲人成网站在线观看播放青青| 最近的2019中文字幕国语完整版| 性一级视频| 日本系列 1页 亚洲系列| 亚洲一区二区成人| 在线观看精品国产福利片87| 久久久精品免费视频| 坠落的丝袜美人妻| 欧美亚洲国产一区二区| 在线免费观看h视频| 中国videos露脸page13| 国产精品一区二区在线播放| 小777论坛| 亚洲狠狠| 亚洲国产欧美在线成人aaaa| 呦女亚洲一区精品| 国产麻豆91网在线看| 亚洲视频免费在线观看| 欧美精品1区2区| 四虎影院免费在线播放| 亚洲撸撸| 福利社影院| 亚洲黄色免费在线观看| 欧美性88xx| 一区二区三区在线 | 网站 | 久久性综合亚洲精品电影网| 又粗又大又爽又黄的免费视频 | 友田真希息与子中文字幕| 日本不卡视频在线视频观看| 亚洲精品国产福利在线观看| 在线观看视频一区| 免费一级片网站| 一级毛片在播放免费| 天天晚上干白天干| 小鸟酱在线播放| 国产亚洲精品视频在线网| 月夜直播免费看| 日本高清视频在线www色下载| 天天综合网天天综合色| 国产精品一区二区在线观看|