<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=UART</id>
	<title>UART - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=UART"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=UART&amp;action=history"/>
	<updated>2026-07-06T00:47:25Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=UART&amp;diff=285147&amp;oldid=prev</id>
		<title>imported&gt;Upojzsb：​使用DisamAssist清理消歧义链接：DMA（链接至直接記憶體存取）。</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=UART&amp;diff=285147&amp;oldid=prev"/>
		<updated>2023-04-15T13:59:15Z</updated>

		<summary type="html">&lt;p&gt;使用&lt;a href=&quot;/index.php?title=User:%E6%9A%81%E6%9C%88%E5%87%9B%E5%A5%88/DisamAssist&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:暁月凛奈/DisamAssist（页面不存在）&quot;&gt;DisamAssist&lt;/a&gt;清理&lt;a href=&quot;https://en.wikipedia.org/wiki/%E6%B6%88%E6%AD%A7%E4%B9%89&quot; class=&quot;extiw&quot; title=&quot;wikipedia:消歧义&quot;&gt;消歧义&lt;/a&gt;链接：&lt;a href=&quot;/wiki/DMA&quot; title=&quot;DMA&quot;&gt;DMA&lt;/a&gt;（链接至&lt;a href=&quot;/wiki/%E7%9B%B4%E6%8E%A5%E8%A8%98%E6%86%B6%E9%AB%94%E5%AD%98%E5%8F%96&quot; title=&quot;直接記憶體存取&quot;&gt;直接記憶體存取&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
|G2=Communication&lt;br /&gt;
}}&lt;br /&gt;
[[File:UART 8250 Microchip.jpg|right|thumb|[[印刷電路板]]上的UART晶片8250]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;通用非同步收发传输器&amp;#039;&amp;#039;&amp;#039;（Universal Asynchronous Receiver/Transmitter，通常称为&amp;#039;&amp;#039;&amp;#039;UART&amp;#039;&amp;#039;&amp;#039;）是一种[[异步串行通信|异步收發傳輸器]]，是[[電腦硬體]]的一部分，將数据通過[[串列通訊]]進行传输。UART通常用在与其他通訊接口（如[[電子工業聯盟|EIA]] [[RS-232]]）的连接上。&lt;br /&gt;
&lt;br /&gt;
具体实物表现为独立的模組化芯片，或是微处理器中的內部周边裝置(peripheral)。一般和RS-232C规格的，类似[[Maxim]]的MAX232之类的标准信号幅度变换芯片进行搭配，作为连接外部设备的接口。在UART上追加同步方式的序列信号变换电路的产品，被称为USART(Universal Synchronous Asynchronous Receiver Transmitter)。&lt;br /&gt;
&lt;br /&gt;
== 功能 ==&lt;br /&gt;
在手机设计和测试阶段被用来控制CPU与其余部分的訊息传送&lt;br /&gt;
&lt;br /&gt;
UART是通用异步收发器（异步串行通信口）的英文缩写，它包括了[[RS232]]、[[RS449]]、[[RS423]]、[[RS422]]和[[RS485]]等接口标准规范和总线标准规范，即UART是异步串行通信口的总称。而RS232、RS449、RS423、RS422和RS485等，是对应各种异步串行通信口的接口标准和总线标准，它规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等内容。实际上是属于通信网络中的[[物理层]]（Physical Layer）的概念，与通信协议没有直接关系。而通信协议，是属于通信网络中的[[数据链路层]]（Data Link Layer）的概念。COM是PC（个人计算机）上，异步串行通信口的简写。由于历史原因，IBM的PC外部接口配置为RS232，成为实际上的PC界默认标准。所以，现在PC机的COM均为RS232。若配有多个异步串行通信口，则分别称为COM1、COM2... 。&lt;br /&gt;
&lt;br /&gt;
== 原理 ==&lt;br /&gt;
{{See also |异步串行通信}}&lt;br /&gt;
通用异步接受器-发送器(UART)把数据的字节按照比特顺序发送&amp;lt;ref name=Osborne80&amp;gt;Adam Osborne, &amp;#039;&amp;#039;An Introduction to Microcomputers Volume 1: Basic Concepts&amp;#039;&amp;#039;, Osborne-McGraw Hill Berkeley California USA, 1980 {{ISBN|0-931988-34-9}} pp. 116–126&amp;lt;/ref&amp;gt;。另一端的UART把比特组装为字节。每个UART包含一个[[移位寄存器]]。通过一根线或其他媒介的串行通信比通过多根线的并行通信具有更低成本。&lt;br /&gt;
&lt;br /&gt;
UART通常并不直接产生或接收其他设备的外部信号。独立接口设备用于转换信号的[[逻辑电平]]给UART。 &lt;br /&gt;
&lt;br /&gt;
通信可以是单工、全双工或半双工。&lt;br /&gt;
&lt;br /&gt;
=== 数据帧 ===&lt;br /&gt;
[[File:UART timing diagram.svg|800px|center]]&lt;br /&gt;
&lt;br /&gt;
空闲状态，即没有数据传输，是高电平。这是从（有线）电报时代的历史遗存。线路保持高电平表明線路与传输设备没有损坏。每个字符表示为一个帧，以逻辑低电平为开始比特，然后是数据比特，可选的奇偶校验比特，最后是一个或多个停止比特（逻辑高电平）。大部分应用都是先传最低位的数据比特（the least significant data bit），但也有例外（如{{tsl|en|IBM 2741}}打印终端）。&lt;br /&gt;
&lt;br /&gt;
如果线路长期（至少大于传输一帧的时间）保持低电平，这被UART检测为Break condition.&lt;br /&gt;
&lt;br /&gt;
=== 接收器 ===&lt;br /&gt;
UART硬件受一个内部时钟信号控制。该时钟信号是数据传输率的倍频，典型是比特率的8或16倍。接收器在每个时钟脉冲时测试接收到的信号状态是否为开始比特。如果开始比特的低电平持续传输1个比特所需时间的一半以上，则认为开始了一个数据帧的传输；否则，则认为是毛刺脉冲并忽略。到了下一个比特时间后，线路状态被采样并送入移位寄存器。约定的表示一个字符的所有数据比特(典型为5至8个比特）接收后，移位寄存器可被接收系统使用。UART将设置一个标记指出新数据可用，并产生一个[[中断|处理器中断]]请求主机处理器取走接收到的数据。 &lt;br /&gt;
&lt;br /&gt;
简化的UART在开始比特下降沿开始重新同步时间，然后在每个数据比特的中心时刻采样。&lt;br /&gt;
&lt;br /&gt;
UART的标准特性之一是在接收下一个字符时在缓冲区保存上一个接收到的字符。这种“双缓冲区”允许接收计算机用一个字符的传输时段来获取缓冲区内的上一个字符。许多UART有更大的FIFO缓冲区，允许主机一次处理多个字符，这特别适用于高传输数据率的串行通信同时处理器中断频率有限（通常中断间隔大于1毫秒）。&lt;br /&gt;
&lt;br /&gt;
=== 发送器 ===&lt;br /&gt;
UART把一个字符放入移位寄存器，就开始产生一个数据帧。对于全双工通信，发送与接受使用不同的移位寄存器。使用更大的FIFO使得主机处理器或DMA放置多个字节后由UART自主完成传输。　UART用一个标志位表示busy。&lt;br /&gt;
&lt;br /&gt;
=== 应用 ===&lt;br /&gt;
接收与发送的UART必须达成数据帧协议。如果接收方发现这方面错误，会向主机报告&amp;quot;framing error&amp;quot;标志。&lt;br /&gt;
&lt;br /&gt;
典型的连接modem的串口，使用8个比特表示一个字节，没有奇偶校验位，1个停止位。比特率除以10就是发送ASCII字符的传输速率。&lt;br /&gt;
&lt;br /&gt;
超低成本的嵌入式系统没有UART而是用处理器来实现异步串行通信。&lt;br /&gt;
&lt;br /&gt;
== UART 型號 ==&lt;br /&gt;
一些早期用於 UART 的代表性 IC 型號如下表&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model !! Description&lt;br /&gt;
|-&lt;br /&gt;
| EXAR XR21V1410&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [[Intersil]] 6402&lt;br /&gt;
|-&lt;br /&gt;
| Z8440 || 2000 kbit/s. Async, &amp;lt;!--IBM--&amp;gt;[[Binary Synchronous Communications|Bisync]], [[Synchronous Data Link Control|SDLC]], [[HDLC]], &amp;lt;!--CCITT--&amp;gt;[[X.25]]. [[循環冗餘校驗|CRC]]. 4 位元組接收緩衝區， 2 位元組發送緩衝區， [[直接記憶體存取|DMA]].&amp;lt;ref name=&amp;quot;zilog_com-ps0183&amp;quot;&amp;gt;{{cite web|title=Zilog Product specification Z8440/1/2/4, Z84C40/1/2/3/4. Serial input/output controller|url=http://www.zilog.com/docs/z80/ps0183.pdf|access-date=2010-12-15|archive-date=2021-04-12|archive-url=https://web.archive.org/web/20210412185535/https://www.zilog.com/docs/z80/ps0183.pdf|dead-url=no}} 090529 zilog.com&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[Intel]] [[8251]]&lt;br /&gt;
| USART，非同步通信最高 19.2kbit/s，同步通信最高 64kbit/s&amp;lt;ref&amp;gt;{{Cite web |url=http://map.grauw.nl/resources/midi/intel_8251.pdf |title=Intel 8251A datasheet |access-date=2019-01-07 |archive-date=2021-12-12 |archive-url=https://web.archive.org/web/20211212103822/http://map.grauw.nl/resources/midi/intel_8251.pdf |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[美國國家半導體|NS]] INS[[8250_UART|8250]]&lt;br /&gt;
|rowspan=5| 緩衝區只有 1 位元組的老舊型式&lt;br /&gt;
|-&lt;br /&gt;
| Motorola 6850&lt;br /&gt;
|-&lt;br /&gt;
| {{link-en|MOS Technology 6522|MOS Technology 6522|6522}}&lt;br /&gt;
|-&lt;br /&gt;
| {{link-en|MOS Technology 6551|MOS Technology 6551|6551}}&lt;br /&gt;
|-&lt;br /&gt;
| Rockwell 65C52&lt;br /&gt;
|-&lt;br /&gt;
| 16450&lt;br /&gt;
| 具有兩組 UART， 代號 164 = 82 x 2 暗示了它的特性。 以下 16 開頭的都有兩組 UART&lt;br /&gt;
|-&lt;br /&gt;
| {{link-en|16550 UART|16550 UART|16550}}&lt;br /&gt;
| 推出後發現 FIFO 存在 bug，隨即以 16550A 取代&lt;br /&gt;
|-&lt;br /&gt;
| {{link-en|16550 UART|16550 UART|16550A}}&lt;br /&gt;
|rowspan=2| 16 位元組緩衝區，可設為 TL=1,4,8,14; 標準最高速度 115.2 kbit/s, 也有可達 230.4 或 460.8 kbit/s 的，支援 DMA &amp;lt;ref name=&amp;quot;cs_utk_edu-mswin_serial_faq&amp;quot;&amp;gt;{{cite web|title=FAQ: The 16550A UART &amp;amp; TurboCom drivers 1994|url=http://www.cs.utk.edu/~shuford/terminal/mswin_serial_faq.txt|deadurl=yes|archiveurl=https://web.archive.org/web/20080517022038/http://www.cs.utk.edu/~shuford/terminal/mswin_serial_faq.txt|archivedate=2008-05-17|accessdate=2010-12-15}} 090529 cs.utk.edu&amp;lt;/ref&amp;gt;&amp;lt;!-- The 16550 also has DMA capability, but it is not clear that any PC drivers ever use this.  For more technical info, see National Semiconductor Application Note AN-491. --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 16C552&lt;br /&gt;
|-&lt;br /&gt;
| 16650 || 32 位元組緩衝區，最高速度 460.8 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 16750 || 64 位元組發送緩衝區， 56 位元組接收緩衝區，最高速度 921.6 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 16850&lt;br /&gt;
|rowspan=2| 128 位元組緩衝區，最高速度 460.8 kbit/s 或 1500 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
| 16C850&lt;br /&gt;
|-&lt;br /&gt;
| 16950&lt;br /&gt;
|-&lt;br /&gt;
| {{nowrap|Hayes ESP}} || 1 k 位元組緩衝區&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 資料來源 ==&lt;br /&gt;
* 摘錄自：https://web.archive.org/web/20070717231509/http://hk.dictionary.yahoo.com/search.html?s=UART&lt;br /&gt;
&lt;br /&gt;
== 參考資料與附註 ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* {{en icon}}[https://web.archive.org/web/20080613095627/http://www.national.com/ds/PC/PC16550D.pdf  16550D UART的Datasheet]&lt;br /&gt;
* {{en icon}}[http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/ Freebsd Tutorials] {{Wayback|url=http://www.freebsd.org/doc/en_US.ISO8859-1/articles/serial-uart/ |date=20201116134506 }} (includes standard signal definitions, history of UART ICs, and pinout for commonly used DB25 connector)&lt;br /&gt;
* {{en icon}}[http://www.societyofrobots.com/microcontroller_uart.shtml UART Tutorial for Robotics] {{Wayback|url=http://www.societyofrobots.com/microcontroller_uart.shtml |date=20201122202857 }} (contains many practical examples)&lt;br /&gt;
&lt;br /&gt;
[[Category:資料傳輸]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Upojzsb</name></author>
	</entry>
</feed>