标签:nios2;uart
1. 系统概述
本设计采用NIOS2 32位处理器,通过SPI接口将SD/TF卡中的JPEG图片数据读取到内存中,SD/TF卡的文件系统为FAT32,NIOS2软件实现将JPEG图片通过UART串口发送给上位机显示,系统框图如下:
2. UART介绍
UART(Universal Asynchronous Receiver/Transmitter)是一种异步收发传输器,工作原理是将传输数据的每个字符一位接一位地传输。
UART在空闲时为逻辑1状态,其各位的的意义如下:
起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。
资料位:紧接着起始位之后。资料位的个数一般为8,构成一个字符。通常采用ASCII码,从最低位开始传送,靠时钟定位。
奇偶校验位:资料位加上这一位后,使得1的位数应为偶数(偶校验)或奇数(奇校验)。
停止位:一个字符数据的结束标志,可以是1位、1.5位、2位的高电平。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此需要多于1位的高电平时间,提供计算机校正时钟同步的机会。
3. 搭建QSYS系统
这里主要是添加UART组件,如下图所示:
4. 驱动软件设计
驱动代码,负责将SD中的JPEG图片读取到内存中,然后通过UART发送给上位机显示。
unsigned char desk[54171]; int main (void) { int i; FILE* fp; fp = fopen ("/dev/uart_0", "w"); while(1) { for(i=0;i<54171;i++) { if (fp!=NULL) { fprintf(fp, "%c",desk[i]); } } } fclose(fp); return 0; }
5. 最终结果
编译运行软件后,打开上位机DEMO软件,设置串口波特率为115200,打开串口后,图片正确显示。
本文出自 “shugenyin的博客” 博客,请务必保留此出处http://shugenyin.blog.51cto.com/4259554/1914015
标签:nios2;uart
原文地址:http://shugenyin.blog.51cto.com/4259554/1914015