外文翻译格式样本(共18页).doc
《外文翻译格式样本(共18页).doc》由会员分享,可在线阅读,更多相关《外文翻译格式样本(共18页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上毕业设计外文资料翻译学 院: 信息科学与工程学院 专 业: 电子科学与技术 姓 名: 康兴华 学 号: (用外文写)外文出处: 填入英文资料名称 附 件: 1.外文资料翻译译文;2.外文原文。 指导教师评语: 签名: 年 月 日附件1:外文资料翻译译文UART的核核的概况带有Avalon接口的通用异步接收/发送器的核(UART的核)所执行的方式是为了沟通一个系统内置的Altera FPGA和外部设备之间的串行字符流。核实行RS-232协议计时,并提供可调波特率,奇偶,停止和数据位,以及可选RTS/CTS的流量控制信号。它的功能设置是可配置的,对于给定的系统,它允许设计
2、者实现必要的功能。核提供了一个简单的寄存器映射的Avalon存储器映射(Avalon-MM)的从属接口,使Avalon-MM的主控外设(如一个NiosII处理器)通过读和写控制寄存器和数据寄存器来简单的与核沟通。该UART的核是SOPC Builder-ready,并且可以轻松的集成到任何SOPC Builder产生的系统中,本章包含以下章节:“功能描述”见8-2页“设备和工具支持”见8-4页“在SOPC Builder中对核实例化”见8-4页“硬件仿真考虑”见8-9页“软件编程模型”见8-9页1. 功能描述图1 展示了UART核的分块表注意图及图题的格式核有两个用户可见部分:寄存器文件,它通
3、过Avalon-MM从属端口来存取RS-232的信号,RXD,TXD,CTS和RTS1.1 Avalon-MM从属接口和寄存器该UART的核提供了一个Avalon-MM从属接口到内部寄存器文件。连接用户接口包含6个16位的寄存器:控制,状态,rxdata,txdata,除数,endofpacket。一个主控外设,如一个NiosII处理器,可以使寄存器通过串行连接来控制核和传输数据。该UART的核提供了一个活跃的中断请求(IRQ)输出,当新的数据已收到或当核心准备传输另一字符时,可以要求一个中断,进一步的细节见8-20页“中断行为”。Avalon-MM从属端口有能力随流量控制来转移。该UART的
4、核可用于连接直接存储器(DMA)外设与Avalon-MM流量控制来使连续数据传输自动化。比如,UART的核和存储器之间。见“计时器核心”篇章细节。见“Avalon存储器映射接口规格”内容来了解Avalon-MM接口细节。1.2 RS-232接口该UART的核实现了RS-232的异步传输和接收逻辑。该UART的核通过TXD和RXD端口发送和接收串行数据。大多数Altera的FPGA系列产品的输入/输出缓冲不符合RS-232的电压水平,如果由一个RS-232连接器的信号来直接驱动,将有可能受到损害。为了遵守RS-232的电压信号规格,在FPGA的I/O引脚与外部RS-232连接器之间需要一个外部电
5、平移动式缓冲(例如Maxim Max3237)。该UART的核使用逻辑0为标志,逻辑1为空间0。必要的话,FPGA里面的逆变器可以用来扭转任何RS-232信号的极性。1.3 发射器的逻辑该UART的发射器包含一个7位,8位或9位的txdata控制寄存器和一个相应的7位,8位或9位的发射移位寄存器。Avalon-MM主控外设通过Avalon-MM从属端口来写入txdata控制寄存器。当一个串行发射移位操作当前没有进展时,发射移位寄存器自动从txdata寄存器上载入。发射移位寄存器直接提供TXD输出。数据以最低有效位元(LSB)开头,转移出TXD脚发送。这两个寄存器提供双重缓冲,当先前被写入的字符
6、转移出时,一个主控外设可以将一个新的数值写入txdata寄存器。该主控外设可以通过读状态寄存器的准备信号(trdy),发射器移位寄存器(tmt)以及发射器超支误差(toe)位来监测发射器状态。发射器逻辑自动插入RS-232的规格要求的串行TXD数据流中开始,停止和奇偶位的正确数目。1.4 接收器的逻辑该UART的接收器包括一个7位,8位,或9位接收器移位寄存器和相应7位,8位或9位rxdata控制寄存器。Avalon-MM主控外设通过Avalon-MM从属端口来读rxdata控制寄存器。每次新的字符完全被收到时,rxdata控制寄存器将自动从接收移位寄存器载入。这两个寄存器提供双重缓冲。当随后
7、的字符被转移到接收移位寄存器后,rxdata寄存器可以保持先前收到的字符。主控外设通过读状态寄存器的读就绪(rrdy),接收器超时误差(roe),间隔检测(brk),奇偶误差率(pe),以及帧误差(fe)位可以监测接收器的状态。接收器逻辑自动检测RS-232的规格要求的串行RXD数据流中开始,停止和奇偶位的正确数目。在接收的数据中,接受器逻辑检查四个特殊状态(帧误差,奇偶误差,接受超时误差,间隔),并设置相应的状态寄存器位(fe,pe,roe,brk)。1.5 波特率的产生该UART核的内部波特率时钟是来自Avalon-MM时钟输入。内部波特率时钟是由一个时钟分频器产生的。该除数值可以来自下列
8、情形之一:恒定值指定在系统生成时间16位值存放在除数寄存器该除数寄存器是一个可选的硬件功能。如果在系统生成时间它不生效,那么除数值固定,波特率不能改变。2. 设备和工具支持该UART的核能够针对所有Altera的FPGA产品。3. 在SOPC Builder中对核实例化在硬件中对UART实例化为每个UART的核制造了至少有两个输入/输出端口:一个RXD输入,一个TXD输出。硬件可能包括流量控制信号,CTS输入和RTS输出,这是可选的。设计者用MegaWizard接口在SOPC Builder为UART的核配置了硬件功能集合。以下各节描述可行的选择。3.1 配置设置本节叙述配置设置。3.1.1
9、波特率选择该UART的核能执行对于RS-232连接的任何标准的传输速率。波特率可被两种方式之一配置:固定率:波特率固定在系统生成时间,且不能通过Avalon-MM从属端口改变。可变率:基于除数寄存器中保持的时钟分频器值,波特率可变。主控外设通过向除数寄存器中写入新值来改变波特率。波特率是基于Avalon-MM接口提供的时钟频率计算出来的。在没有再生成的UART的核硬件情况下改变系统时钟频率将会导致不正确信号。波特率(位)的设置复位后波特率的设置决定了默认的波特率。该波特率选项提供了标准的预设值(例如,9600、57600、bps),或者你可以手动输入任何波特率。波特率值用来计算一个合适的时钟除
10、数值以落实所期望的波特率。波特率和除数值的关系如下:除数=int(时钟频率)/(波特率)+0.5)波特率=(时钟频率)/(除数+1)波特率可以通过软件设置来改变。当设置开启时,硬件包含一个16位除数寄存器,并且地址偏移为4。因为除数寄存器是可写的,所以波特率可以通过向该寄存器写入一个新值来改变。当设置关闭时,UART的硬件不包含除数寄存器。UART硬件实行一个常数(不可改变)波特率除数,并且系统产生后,值不可改变。在这种情况下,写入地址偏移4已无效。从地址偏移4读入产生了一个未定的结果。3.1.2 数据位,停止位,奇偶校验位该UART核的奇偶位,数据位和停止位是可配置的。这些设置固定在系统生成
11、的时候,它们不能通过寄存器文件改变。以下是可行的设置:数据位设置见表1。表1 数据位设置注意表题在表的上面设置允许值描述数据位7,8,9该设置决定了txdata,rxdata和endofpacket寄存器的宽度。停止位1,2该设置决定了核随着字符传输一个还是两个停止位,不论停止位如何设置,核总是在第一个停止位终止接收活动,而忽略接下来所有的停止位。奇偶校验无,偶数,奇数该设置决定了UART传输字符时是否有奇偶校验,UART是否希望收到的字符有奇偶校验。见下文进一步的细节。奇偶设置当奇偶设置为无,传输逻辑传送数据,而无需包括一个校验位,并且接收逻辑假定传入数据不包括校验位。当奇偶为无时,状态寄存
12、器的pe(奇偶误差)位是无效的,总是为0。当奇偶设置为奇数或偶数时,传输逻辑计算并插入所需的校验位到离开的TXD脚发送码流,并接收逻辑检查到来的RXD码流中的校验位。如果接收器认定数据的奇偶位不正确,状态寄存器的奇偶误差设置为1。当奇偶设置是偶数时,如果一个字符中含“1”的个数为偶数,那么奇偶位是0。否则奇偶位为1。同样的,当奇偶是奇数,如果一个字符中含“1”的个数为奇数,那么奇偶位为0。3.1.3 流量控制以下是可用的流量控制方案。包括CTS/RTS的引脚与控制寄存器位。当此设置开启时,UART的硬件包括:CTS_N(逻辑负CTS)输入端口RTS_N(逻辑负RTS)输出端口状态寄存器中的CT
13、S位状态寄存器中的DCTS位控制寄存器中的RTS位控制寄存器中的IDCTS位基于这些硬件设施,Avalon-MM主控外设可检测CTS和传送RTS流量控制信号。CTS输入和RTS输出端口直接同状态和控制寄存器的位相连,并没有直接影响到核的其它任何部分。当包括CTS/RTS的引脚和控制寄存器位设置处于关闭状态时,核并不包括上面所列的硬件。控制/状态位CTS,DCTS,IDCTS和RTS将无效,它们总是为0。3.1.4 Avalon-MM随着流量控制的转移(DMA)该UART核的Avalon-MM接口有选择的使Avalon-MM随流量控制转移。这就允许一个Avalon-MM主控外设只在UART核心准
14、备接收另一个字符时写数据和只在核心有可用数据时读数据。该UART核还可以有选择的包括endofpacket寄存器。包括end-of-packet寄存器当此设置开启时,UART的核包括:一个7位,8位或9位endofpacket寄存器地址偏移量为5。数据宽度由数据位的设置决定。状态寄存器中的eop位控制寄存器中的ieop位Avalon-MM接口中的endofpacket信号,来支持数据随流量控制转移到系统中其他主控外设或从系统中其他主要外设转移出。endofpacket(EOP)检测允许UART的核终止与Avalon-MM主控外设随着流量控制的数据交易。EOP检测可以用一个DMA控制器。比如,使
15、一个UART自动将收到的字符写入存储器,直到到来的RXD流中遇到一个指定的字。这个终止字符的值取决于endofpacket寄存器。当endofpacket寄存器不能正常工作时,UART的核心将不包括上列的来源。向endofpacket寄存器写入是无效的,读入则产生一个未定值。3.2 仿真设置当UART的核的逻辑生成,仿真模型也会产生。仿真模型提供的功能可以简化和加快使用UART核的仿真系统仿真设置的变化,从而不能影响硬件中UART的核的行为。这些设置只是影响功能仿真。比如,如何使用下列设置模拟NiosII系统,它涉及到AN351:模拟NiosII嵌入式处理器设计。3.2.1 模拟rxd输入字符
16、流您可以输入字符流,只要模拟系统复位,它将会到达RXD端口被模拟。该UART核的MegaWizard接口接收一个任意字符串,它后来被合并到UART仿真模型中。复位端复位后,随着核能够接收新的数据,字符串会逐字的输入到RXD端口。3.2.2 编写互动窗口在系统生成的时候,UART的核发生器可以产生ModelSim宏。它使仿真期间与UART模型的通信便利。以下方案可供选择:创造ModelSim别名打开流输出窗口创造ModelSim宏来打开一个可显示所有从TXD端口的输出的窗口。创造ModelSim别名打开互动的激励窗口创造一个ModelSim宏来打开一个为rxd端口接收激励的窗口,这个窗口可将打印
17、在窗口上的任何字符发送给rxd端口。3.2.3 模拟发射器波特率RS-232的传输速率往往慢于系统中的其他任何进程,模拟真正波特率的功能模型时,这是很少有用的。例如,在传输速率为时,它通常需要几千个时钟周期来传输一个单一的字。该UART的仿真模型有能力运行一半的时钟常数,这使得模拟UART用一半的系统时钟速度,可以转移一位,即约为每20个时钟周期一个字。您可以选择下列情形之一的模拟发射器波特率:加速(使用除数=2):仿真时,TXD脚每两个时钟周期发送一位。实际(使用真实波特率除数):TXD脚以实际波特率传输,其值由除数寄存器决定。4. 硬件仿真考虑当使用ModelSim模拟器时,仿真功能创造了
18、方便的模拟Nios,NiosII或Excalibur处理器的系统。每个处理器的文件编制记录了这些功能的建议用法。其他用途也有可能,但将需要额外的用户努力,以创造一个定制的模拟过程。仿真模型在UART核的高层HDL文件中被执行。合成HDL在同一文件里被执行。仿真的特点是采用了翻译开启和翻译关闭合成指令来执行,使某些路段的HDL代码对综合工具来说可见。如果你是用Altera的推荐仿真程序,那么不编辑仿真指令。如果你为自己定制的仿真流程改变了仿真指示,那么请注意SOPC Builder在系统生成期间会改写现有文件。采取防范措施确保你的修改不被覆盖。关于NiosII处理器系统模拟UART的核的细节请看
19、AN351:模拟NiosII处理器的设计。为详细了解在Nios的嵌入式处理器系统模拟UART的核AN189:模拟Nios的嵌入式处理器的设计。5. 软件编程模型以下章节描述UART的核的软件编程模型的建立,包括寄存器映射和软件声明来访问硬件。对NiosII处理器的用户,Altera提供了硬件抽象层(HAL)系统库驱动器,它使你用ANSIC的标准库函数访问UART,如printf( )和getchar( )。5.1 HAL系统库支持该Altera公司提供的驱动程序所执行的HAL字符模式的装置驱动器对NiosII系统来说,可以整合到HAL系统库。HAL用户应通过熟悉的HAL的API和ANSIC的标
20、准库来访问UART,而不是访问UART寄存器。ioctl( )的要求是指允许HAL用户控制硬件依赖性方面的UART。注意:如果你的程序使用HAL设备驱动器来访问UART硬件,对设备寄存器的直接访问将干扰驱动器的正确行为。对NiosII处理器的用户来说,HAL系统库API提供了完全的UART核的功能。NiosII程序把UART的核看作是一个字符模式装置,并通过使用ANSIC的标准库函数同时发送和接收数据。该驱动支持在SOPC Builder中有效的CTS/RTS控制信号,见8-11页“驱动器的选择:快与小的执行”。下面的代码显示了最简单可行的使用,印刷信息标准输出使用printf( )。在这个例
21、子中,SOPC Builder系统包含一个UART的核,并且HAL系统库已配置好,以使用这个装置来标准输出。例如:印刷字符到一个UART的核,作为标准输出#includeint main()printf(Hello world.n);return 0;下面的代码显示了使用的标准库从UART装置读字符和向UART装置发送信息的过程。在这个例子中,SOPC Builder系统中包含一个SOPC Builder的系统包含一个UART的核命名为uart1,它不一定作为标准输出设备被配置。在这种情况下,程序对装置就像任何其他节点中的HAL文件系统一样。例如:发送和接收字符。/* A simple pro
22、gram that recognizes the characters t and v */#include #include int main ()char* msg = Detected the character t.n;FILE* fp;char prompt = 0;fp = fopen (/dev/uart1, r+); /Open file for reading and writingif (fp)while (prompt != v) / Loop until we receive a v.prompt = getc(fp); / Get a character from t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外文 翻译 格式 样本 18
限制150内