嵌入式系统设计实习报告

时间:2024.4.21

  

嵌入式系统实习报告

    院:  电气信息工程学院  

    业:       通信工程     

    级:        071       

    名:        乔振宇      

    号:          40        

指导教师:        山传文      

       

一、实习目的…………………………………………………………………………2

二、实习设备…………………………………………………………………………2

三、实习内容…………………………………………………………………………2

四、实习原理…………………………………………………………………………2

五、实习步骤…………………………………………………………………………5

六、实习主程序………………………………………………………………………6

七、实习中间过程……………………………………………………………………7

八、实习心得…………………………………………………………………………10

九、参考文献…………………………………………………………………………10

基于S3C2410嵌入式MDK开发和EduKit-IV-ucos-II实习

一、实习目的:

1、掌握有关音频处理的基础知识;

2、通过实验了解IIS音频接口的工作原理;

3、通过实验掌握对处理器S3C2410X中IIS模块电路的控制方法;

4、通过实验掌握对常用IIS接口音频芯片的控制方法。

5、初步掌握液晶屏的使用及其设计方法。

6、掌握S3C2410X处理器的LCD控制其使用。

7、掌握通过任务调度的方法把液晶显示函数添加到UC/os-II中。

二、实习设备:

1、硬件:Embest EduKit-IV平台,ULINK2仿真器套件,PC机;

2、软件:μVision IDE for ARM集成开发环境,Windows 98/2000/NT/XP。

三、实习内容:

1、将从UART1接收到的字符串回送显示。

2、通过使用Embest Edukit-IV实验板的彩色液晶屏进行电路设计,掌握液晶屏作为人机接口界面的设计方法,并编写任务函数在uc/os-II系统中实现位图显示,在uc/os-II中建立两个任务Task1和Task2,其中Task1顺序熄灭四个LED,延迟一会再顺序点亮四个LED,Task1和Task2在LED屏幕上循环显示两幅图片,并打印一些文字信息。

3、在实习箱上显示你的专业,姓名。

四、实习原理:

1、数字音频基础:

采样频率和采样精度在数字音频系统中,通过将声波波形转换成一连串的二进制数据再现原始声音,这个过程中使用的设备是模拟/数字转换器(Analog to Digital Converter,即ADC),ADC以每秒上万次的速率对声波进行采样,每次采样都记录下了原始声波在某一时刻的状态,称之为样本。

每秒采样的数目称为采样频率,单位为HZ(赫兹)。采样频率越高所能描述的声波频率就越高。系统对于每个样本均会分配一定存储位(bit数)来表达声波的声波振幅状态,称之为采样精度。采样频率和精度共同保证了声音还原的质量。

人耳的听觉范围通常是20Hz~20KHz,根据奈魁斯特(NYQUIST)采样定理,用两倍于一个正弦波的频率进行采样能够真实地还原该波形,因此当采样频率高于40KHz时可以保证不产生失真。CD音频的采样规格为16bit,44KHz,就是根据以上原理制定。

音频编码:脉冲编码调制PCM(Pulse Code Modulation)编码的方法是对语音信号进行采样,然后对每个样值进行量化编码,在“采样频率和采样精度”中对语音量化和编码就是一个PCM编码过程。ITU-T的64kbit/s语音编码标准G.711采用PCM编码方式,采样速率为8KHz,每个样值用8bit非线性的μ律或A律进行编码,总速率为64kbit/s。

CD音频即是使用PCM编码格式,采样频率44KHz,采样值使用16bit编码。

使用PCM编码的文件在Windows系统中保存的文件格式一般为大家熟悉的wav格式,实验中用到的就是一个采样44.100KHz,16位立体声文件t.wav。

在PCM基础上发展起来的还有自适应差分脉冲编码调制ADPCM (Adaptive Differential Pulse Code Modulation)。ADPCM编码的方法是对输入样值进行自适应预测,然后对预测误差进行量化编码。CCITT的32kbit/s语音编码标准G.721采用ADPCM编码方式,每个语音采样值相当于使用4bit进行编码。

2、IIS音频接口:

IIS (Inter-IC Sound)是一种串行总线设计技术,是SONY、PHILIPS等电子巨头共同推出的接口标准,主要针对数字音频处理技术和设备如便携CD机、数字音频处理器等。IIS将音频数据和时钟信号分离,避免由时钟带来的抖动问题,因此系统中不再需要消除抖动的器件。

IIS总线仅处理音频数据,其它信号如控制信号等单独传送,基于减少引脚数目和布线简单的目的,IIS总线只由三根串行线组成:时分复用的数据通道线,字选择线和时钟线。

3、电路设计原理:

(1)信号线

处理器中与IIS相关的信号线有五根:

①串行数据输入IISDI,对应IIS总线接口中的SD信号,方向为输入。

②串行数据输出 IISDO,对应IIS总线接口中的SD信号,方向为输出。

③左右通道选择 IISLRCK,对应IIS总线接口中的WS信号,即采样时钟。

④串行位时钟 IISCLK,对应IIS总线接口中的SCK信号。

⑤音频系统主时钟CODECLK,一般为采样频率的256倍或384倍,符号为256fs或384fs,其中fs为采样频率。CODECLK通过处理器主时钟分频获得,可以通过在程序中设定分频

(2)寄存器

处理器中与IIS相关的寄存器有三个:

①IIS控制寄存器IISCON,通过该寄存器可以获取数据高速缓存FIFO的准备好状态,启动或停止发送和接收时的DMA请求,使能IISLRCK、分频功能和IIS接口。

②IIS模式寄存器IISMOD,该寄存器选择主/从、发送/接收模式,设置有效电平、通道数据位,选择CODECLK和IISLRCK频率。

③IIS分频寄存器IISPSR。

(3)数据传送

数据传送可以选择普通模式或者DMA模式,普通模式下,处理器根据FIFO的准备状态传送数据到FIFO,处理器自动完成数据从FIFO到IIS总线的发送,FIFO的准备状态通过IIS的FIFO控制寄存器IISFCON获取,数据直接写入FIFO寄存器IISFIF。DMA模式下,对FIFO的访问和控制完全由DMA控制器完成,DMA控制器自动根据FIFO的状态发送或接收数据。

DMA方式下数据的传送细节请参考处理器手册中DMA章节。

音频芯片UDA1341TS 说明

电路中使用的音频芯片是PHILIPS的UDA1341TS音频数字信号编译码器,UDA1341TS可将立体声模拟信号转化为数字信号,同样也能把数字信号转换成模拟信号,并可用PGA(可编程增益控制),AGC(自动增益控制)对模拟信号进行处理;对于数字信号,该芯片提供了DSP(数字音频处理)功能。实际使用中,UDA1341TS广泛应用于MD、CD、notebook、PC和数码摄像机等。

UDA1341TS提供两组音频输入信号线、一组音频信号输出线,一组IIS总线接口信号,一组L3总线。

IIS总线接口信号线包括位时钟输入BCK、字选择输入WS、数据输入DATAI、数据输出DATAO和音频系统时钟SYSCLK信号线。

UDA1341TS的L3总线,包括微处理器接口数据L3DATA、微处理器接口模式L3MODE、微处理器接口时钟L3CLOCK三根信号线,当该芯片工作于微控制器输入模式使用的,微处理器通过L3

五、实习步骤:

1. 准备实验环境

使用ULINK2仿真器连接Embest EduKit-IV实验平台的主板JTAG接口;使用Embest EduKit-IV实验平台附带的交叉串口线,连接实验平台主板上的COM2和PC机的串口(一般PC只有一个串口,如果有多个请自行选择,笔记本没有串口设备的可购买USB转串口适配器扩充);使用Embest EduKit-IV实验平台附带的电源适配器,连接实验平台主板上的电源接口。

2. 串口接收设置

在PC机上运行windows自带的超级终端串口通信程序,或者使用实验平台附带光盘内设置好了的超级终端,设置超级终端:波特率115200、1位停止位、无校验位、无硬件流控制,或者使用其它串口通信程序。(注:超级终端串口的选择根据用户的PC串口硬件不同,请自行选择,如果PC机只有一个串口,一般是COM1)

3. 打开实验例程

1)拷贝实验平台附带光盘DISK3_S3C2410\03-Codes\01-MDK\Mini2410-IV文件夹到MDK的安装路径:Keil\ARM\Boards\Embest\(如果本实验之前已经拷贝,可以跳过这一步)。(注:用户也可拷贝工程到任意目录,本实验为了便于教学,故统一实验路径);

2)运行μVision IDE for ARM软件,点击菜单栏“Project”,选择“Open Project…”,在弹出的对话框选择实验例程目录7.3_IIS_Test子目录下的IIS_Test.Uv2工程。

3)默认打开的工程在源码编辑窗口会显示实验例程的说明文件readme.txt,详细阅读并理解实验内容。

4)工程提供了两种运行方式:一是下载到SDRAM中调试运行,二是固化到Nor Flash中运行。用户可以在工具栏Select Target下拉框中选择在RAM中调试运行还是固化Flash中运行。

5)接下来开始编译链接工程,在菜单栏“Projiet”选择“Build target”或者“Rebuild all target files”编译整个工程,用户也可以在工具栏单击“”或者“”进行编译。

6) 编译完成后,在输出窗口可以看到编译提示信息,比如“".\SDRAM\IIS_Test.axf" - 0 Error(s), 1 Warning(s).”,如果显示“0 Error(s)”即表示编译成功。

7)拨动实验平台电源开关,给实验平台上电,单击菜单栏Debug->Start/Stop Debug Session项将编译出来的映像文件下载到SDRAM中,或者单击工具栏“”按钮来下载。

8)下载完成后,单击菜单栏Debug->Run项运行程序,或者单击工具栏“”按钮来全速运行程序。用户也可以使用进行单步调试程序。

9)全速运行后,用户可以在超级终端看到程序运行的信息,出现“Please input words, then press Enter”提示后输入想要发送的数据,并已回车作为发送字符串的结尾标志。

10)用户可以Stop程序运行,使用μVision IDE for ARM的一些调试窗口跟踪查看程序运行的信息。

注:如果在第4)步用户选择在Flash中运行,则编译链接成功后,单击菜单栏Flash->Download项将程序固化到NorFlash中,或者单击工具栏按钮“”固化程序,从实验平台的主板拔出JTAG线,给实验平台重新上电,程序将自动运行。

六、实习主程序:

声音图像同步显示

七、实习中间过程:

1、 终端的设置如下

2、单独显示图片时终端显示结果如下

3、单独实现声音的程序如下

4、单独实现声音的终端显示结果如下

5、图片的转换如下

6、声音的转换如下

八、实习心得:

通过本次实习对ARM9嵌入式系统设计有了更深一步的了解,知道了如何使用uc/os软件进行编程编译,并下载到实验箱中,使图像、声音、文字得以显示,学会了转换IIS声音文件的工具:ProcBmp.exe和转换bmp图片文件的工具:Image2Lcd,使其能够在程序中运行。更重要的是学会了如何解决在实习中遇到的各种问题并很好的解决,为以后使用该软件进行编程打下了坚实的基础,也培养了自己对该软件的兴趣,大四的学生正面临找工作的压力,通过这次实习积累了经验,对找工作也起到了辅助的作用,希望能够有机会对该软件进行进一步的学习研究。最后感谢指导老师和同学们的细心帮助。

九、参考文献:

1、 熊茂华、杨震伦编著ARM嵌入式系统设计与开发应用,清华大学出版社,2008.1

2、 于明等,ARM9嵌入式系统设计与开发教程,北京:电子工业出版社,2006.5

3、 杜春雷等,嵌入式体系结构与编程,北京:清华大学出版社,2003.5


第二篇:嵌入式实验报告123131231


嵌入式实验报告

电子电气学院

嵌入式实验报告

题 目: UART接口实验 专业(班): 电信21202

项目组成员:艾楚雄

课程名称: 嵌入式系统实验设计

2015 年 12 月 31 日

嵌入式实验报告

一、 实验目的

1.掌握UART0各个控制器的设置,并能使用UART0接收PC发过来的数据,并将数据送回PC进行显示。

2.熟悉在Linux环境下用C语言进行编程,实现UP-NETARM2410-S实验台上对串行接口设备(tts0/1/2)的设置和读写操作。

二、 实验环境

ARM2410S嵌入式实验平台:2个RS-232,1个RS-485,1个IrDA。 与嵌入式平台连接的PC机:运行红帽子Linux系统,内核版本2.4。

三、实验内容

在一台PC机和实验台上进行实验,为模仿两台机子串口之间的通信,程序中使用多线程控制方法,一个线程负责往COM口发送数据,另一个线程负责接收。还有一个键盘监控线程负责程序的中断退出。比如写线程往串口写字符串“Hello UP-NetARM2410-S!”,接收线程接收后送回上位机终端的数据接收窗口进行显示。

UART0设置为通讯波特率115200,8位数据位,1位停止位,无奇偶校验。

1

嵌入式实验报告

四、实验步骤

1.根据实验内容,编写代码予以实现。(注:源代码见附件)

2.交叉编译源代码,生成可在嵌入式平台上运行的程序,并把程序考到共享目录下。命令如下:

armv4l-unknown-linux-gcc serial.c –o serial –lpthread cp serial /arm2410s/share

3.在终端启动 minicom,并挂载共享目录:

mount -t nfs 192.168.0.11:/arm2410s/share /host

4.为设备文件建立软链接:

ln -sf /dev/tts/0 /dev/ttyS0

5.运行程序:

./serial

6.观测并记录实验结果。

五、实验结果

在PC终端输出从COM口读出的字符串,圆满完成了实验要求。结果如下图所示:

2

嵌入式实验报告

六、实验总结

通过URAT接口实验,我们掌握了UART0各个控制寄存器的设置。熟悉了在Linux环境下用C语言进行编程,对UP-NETARM2410-S实验台上串行接口设备(tts0/1/2)的设置和读写操作。此次实验,让我们对Linux下嵌入式平台的开发工作有了初步的了解,增强了我们动手编码和通过实践解决实际问题的能力。

3

嵌入式实验报告

附件:

#include <stdio.h> //标准输入/输出定义 #include <stdlib.h>

#include <fcntl.h> //文件控制定义 #include <pthread.h> //线程库

#include <termios.h> //PPSIX终端控制定义 #include <unistd.h> //UNIX标准函数定义

#define BAUDERATE B115200

#define COM1 "/dev/ttyS0"

#define COM2 "/dev/ttyS1"

#define ENDMINITERM 27 //按ESC键退出 #define FALSE 0

#define TRUE 1

volatile int STOP = FALSE;

volatile int fd; //设备号

/*------------------------------------------------*/

void* keyboard(void* data) //键盘输入,按ESC退出 {

int c;

for(;;)

{

c = getchar();

if(c == ENDMINITERM)

{

STOP = TRUE;

break;

}

}

return NULL;

}

/*------------------------------------------------*/

void* receive(void* data) //接收线程

{

int c;

printf("\n read mode\n");

while (STOP == FALSE)

{

read(fd,&c,1); //COM端口

//printf("%c",&c);

write(1,&c,1); //stdout

}

4

嵌入式实验报告

printf("\n exit from reading modem\n");

return NULL;

}

/*------------------------------------------------*/

void* send(void* data) //发送线程

{

int c = '0';

printf("\nsend data\n");

while(STOP == FALSE)

{

c = c +1;

c = c%256;

write(fd,&c,1);

fflush(stdout);

usleep(10000); //延迟

}

return NULL; //等待子进程消亡

}

/*------------------------------------------------*/

int main(int argc, char** argv)

{

struct termios oldtio, newtio, oldstdtio, newstdtio;

int ok;

pthread_t th_a, th_b, th_c; //定义线程a,b,c

void* retval; //定义错误

if(argc>1)

fd = open(COM2,O_RDWR); //以读写方式打开串口

else

fd = open(COM1,O_RDWR);

if(fd<0)

{

perror(COM1); //提示错误信息

exit(-1); //返回

}

tcgetattr(0,&oldstdtio); //0设备属性值->oldstdio

tcgetattr(fd,&oldtio); /* save current modem settings */

tcgetattr(fd,&newstdtio); /* get working stdtio ,准备更改属性*/

newtio.c_cflag = BAUDERATE | CRTSCTS | CS8 | CLOCAL | CREAD;/*ctrol flag*/ //B115200速率,8位数据位,本地,接受使能

newtio.c_iflag = IGNPAR; /*input flag*/ newtio.c_oflag &= ~(ICANON | ECHO | ECHOE | ISIG); /*output flag*/ newtio.c_lflag &= ~OPOST; /*local flag*/ newtio.c_cc[VMIN]=1; //指定最少读取字符数为1

newtio.c_cc[VTIME]=0; //指定读取每个字符等待时间为0

5

嵌入式实验报告

//开始清空modem线,并且设置modem属性

tcflush(fd, TCIFLUSH); //丢弃所有输入/输出队列上还没有读取或发送的数据 tcsetattr(fd,TCSANOW,&newtio); /*set attrib */

pthread_create(&th_a, NULL, keyboard, 0);

pthread_create(&th_b, NULL, receive, 0);

pthread_create(&th_c, NULL, send ,0);

pthread_join(th_a, &retval); //等待线程a结束

pthread_join(th_b, &retval);

pthread_join(th_c, &retval);

tcsetattr(fd, TCSANOW, &oldtio);

tcsetattr(0, TCSANOW, &oldstdtio);

close(fd);

exit(0);

}

//恢复原来设置,立即生效 6

更多相关推荐:
20xx完整ARM嵌入式系统实验报告

郑州航空工业管理学院嵌入式系统实验报告修订版20第赵成张克新编著院姓专学系名业号电子通信工程系20xx年3月制实验一ARM体系结构与编程方法一实验目的了解ARM9S3C2410A嵌入式微处理器芯片的体系结构熟悉...

嵌入式系统实验报告

嵌入式系统设计实验报告班级学号姓名成绩指导教师1实验一11实验名称博创UP3000实验台基本结构及使用方法12实验目的1学习嵌入式系统开发流程2熟悉UPnet3000实验平台的核心硬件电路和外设3增加对各个外设...

嵌入式系统课程设计报告

嵌入式系统课程设计报告基于ARM的楼宇对讲系统设计摘要采用模块化设计方法设计出一款基于ARM微控制芯片和Linux操作系统的楼宇对讲系统,该对讲系统通过以太网与楼宇间的各室内机相连,实现了安装在楼道门口的终端机…

嵌入式系统设计报告

嵌入式系统课程设计报告题目:连连看在uCOSII系统ARM平台的简单实现自动化2010级20XX.12.10一.设计思路连连看游戏可以消灭一切成双成对的东东,为大家喜爱,老少皆宜;在实验平台上做连连看的实现,需…

嵌入式系统设计课程报告_

嵌入式图像处理系统课程报告基于隔离开关水平垂直度测试姓名郑亚茹班级硕3019学号嵌入式图像识别处理一研究目的1从项目开发实施隔离开关水平垂直度测量控制角度研究嵌入式系统应用技术的一般流程尝试使用软件工程2图像处...

王招治-嵌入式系统设计报告

研究生课程设计报告直流电机程序设计课程名称嵌入式系统设计姓名王招治学号专业电子与通信工程任课教师李国刚开课时间20xx817课程设计提交时间20xx年9月10日直流电机程序设计一设计目的1熟悉ARM本身自带的P...

嵌入式系统设计实验报告

111实验项目名称基于ucOS的多任务系统一实验目的1掌握LPC2200forMagicARM2200专用工程模板的使用2能够在MagicARM2200S上运行基于COSII操作系统的程序3掌握基于COSII操...

嵌入式系统实验报告书

郑州航空工业管理学院嵌入式系统实验报告书院系姓名专业学号指导老师赵成实验一认识嵌入式开发平台一实验目的认识UPNETARM2410S嵌入式开发平台了解使用的ARM9S3C2410嵌入式微处理器芯片了解相应外围电...

嵌入式系统 实验报告 南邮

实验报告20xx20xx学年第二学期课程名称ARM嵌入式系统原理与开发实验名称嵌入式Linux交叉开发环境建立与程序开发实验时间指导单位20xx年6计算机学院月21日指导教师王诚学生姓名学院系颜泽鑫通信与信息工...

嵌入式系统课程设计报告

广东工业大学华立学院课程设计论文课程名称嵌入式系统原理及应用教程题目名称IO控制及LED显示实验学生学部系艺术设计与计算机学部专业班级xxxxxxxxxxxxx学号xxxxxxxxxxxxx学生姓名xxxxxx...

20xx嵌入式系统课程设计报告

湖南工业大学课程设计资料袋电气与信息工程学院系部课程名称嵌入式系统指导教师欧阳洪波职称讲师学生姓名颜焕专业班级电子科学与技术1101班学号11401701204题目Linux操作系统开发环境的构建移植与使用成绩...

嵌入式系统课程设计报告

课程设计报告基于ARM的嵌入式电子点菜系统班学姓级号名20xx年10月1题目基于ARM的嵌入式电子点菜系统2系统简介在基于ARM的嵌入式环境下本电子点菜系统可实现的功能有支持触摸屏图形选菜以及记录菜单等功能界面...

嵌入式系统设计报告(52篇)