單片機io口
壹條信息的各位數據被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點是:數據位傳送,傳按位順序進行,最少只需壹根傳輸線即可完成,成本低但送速度慢。串行通訊的距離可以從幾米到幾千米。 根據信息的傳送方向,串行通訊可以進壹步分為單工、半雙工和全雙工三種。信息只能單向傳送為單工;信息能雙向傳送但不能同時雙向傳送稱為半雙工;信息能夠同時雙向傳送則稱為全雙工。 串行通訊又分為異步通訊和同步通訊兩種方式。在單片機中,主要使用異步通訊方式。
串行通訊中,兩個設備之間通過壹對信號線進行通訊,其中壹根為信號線,另外壹根為信號地線,信號電流通過信號線到達目標設備,再經過信號地線返回,構成壹個信號回路。
初級讀者會產生疑問:為何不讓信號電流從電源地線返回?答案:公***地線上存在各種雜亂的電流,可以輕而易舉地把信號淹沒。因此所有的信號線都使用信號地線而不是電源地線,以避免幹擾。
這壹對信號線每次只傳送1bit(比特)的信號,比如1Byte(字節)的信號需要8次才能發完。傳輸的信號可以是數據、指令或者控制信號,這取決於采用的是何種通訊協議以及傳輸狀態。串行信號本身也可以帶有時鐘信息,並且可以通過算法校正時鐘。因此不需要額外的時鐘信號進行控制。
並行通訊中,基本原理與串行通訊沒有區別。只不過使用了成倍的信號線路,從而壹次可以傳送更多bit的信號。
並行通訊通常可以壹次傳送8bit、16bit、32bit甚至更高的位數,相應地就需要8根、16根、32根信號線,同時需要加入更多的信號地線。比如傳統的PATA線路有40根線,其中有16根信號線和7根信號地線,其他為各種控制線,壹次可以傳送2Byte的數據。並行通訊中,數據信號中無法攜帶時鐘信息,為了保證各對信號線上的信號時序壹致,並行設備需要嚴格同步時鐘信號,或者采用額外的時鐘信號線。
通過串行通訊與並行通訊的對比,可以看出:串行通訊很簡單,但是相對速度低;並行通訊比較復雜,但是相對速度高。更重要的是,串行線路僅使用壹對信號線,線路成本低並且抗幹擾能力強,因此可以用在長距離通訊上;而並行線路使用多對信號線(還不包括額外的控制線路),線路成本高並且抗幹擾能力差,因此對通訊距離有非常嚴格的限制。