嵌入式系统调查报告

时间:2019-05-12 13:10:13下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《嵌入式系统调查报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《嵌入式系统调查报告》。

第一篇:嵌入式系统调查报告

“嵌入式系统在企业中的应用”调查报告

工学院范裕婷

内容提要:现今,全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现代化家庭起居,是嵌入式系统在企业中应用的大好时机。2012年7月3-6日及7月13-14日,丽水学院工学院“嵌入式系统在企业中应用”调查团一行7人赴丽水市相关地区进行实地走访调查,走访不同类型的相关企业,通过召开座谈会、与公司负责人及技术人员面对面交流、察看应用嵌入式系统设备等多种途径,在此基础上,随队指导老师还给我们讲解嵌入式系统的几大应用及其发展趋势。整体上把握、从细处入手,本文较为系统地分析目前丽水市相关企业对于嵌入式系统应用的情况及存在的问题,并针对丽水的地理等特点,实事求是地提出了推进丽水市相关企业嵌入式系统应用的水平,需要进一步提高对嵌入式系统应用领域及趋势的认识,增强技术设备等对策和建议。

关键词:企业 嵌入式系统一、调查背景

嵌入式系统在工业领域中,一直有着控制的需求。最早的年代是用机械的方式来达到这样的需求;随着时代的进步,进化到使用电子式的控制。在最近几十年中计算机的出现,更使得控制进化到使用计算机,也使得控制可以自动化,而不需要人工操纵。然而计算机最早的设计并不是为了工业自动控制而设计的,但计算机可以做一些类似人类思考的行为或运算,因而工业自动控制不得已只好使用商用计算机。

丽水地处浙西南,浙西南是欠发达地区,和省内先进城市相比,整体水平还比较落后,企业工业化建设与经济社会发展要求还存在一定差距。一方面,丽水围绕“生态立市、工业强市、绿色兴市”三市并举战略以实现跨越式发展,其中,要保证工业化的飞跃发展,就必须大力发展像嵌入式系统等技术型的企业,要打出旅游“金名片”,就要在发展的同时加强对企业技术化发展,以其作为坚强的后盾力量;另一方面,努力发展企业技术化发展,引入技术性设备等发展更高层次的工业化,可以促进丽水在发展“绿谷”文化的同时,还可以拥有坚固的后翼,加快城乡一体化发展,缩小贫富差距。

“嵌入式系统在企业中应用”调查团是丽水学院暑期实践项目。丽水学院是一所市属本科院校,作为智囊团和点子库,为丽水市的发展提供重要参考。为了组织好此次暑期社会实践,在上级团组织和分院党总支的领导下,调研团统筹规划、周密部署、精心实施,由丽水学院工学院嵌入式系统专业课老师任指导老师,电信专业、数控专业、计算机专业等7名同学为队员,大家各司其职,分工明确,认真落实实践前后各项工作。

二、嵌入式系统在企业中应用总体情况

过去:嵌入式系统通常是深嵌于最终产品之中,以系统控制为基础,一般不与外界连接。其微控制器在一个相当封闭的系统中工作,定时查询外设、收集数据、完成简单的处理工作,以及控制开关和LED指示灯。此外,微控制器也进行少量的数据操作或数据传输。由于它们不会与局域网(LAN)或互联网(Internet)连接,所以不存在保安的问题。比如:此次调研位于南山工业园的永通科技公司,此公司以生产LED等各种灯具为主,其中,就用到嵌入式系统编程控制进行一系列生产线作业。

现在:现今的嵌入式系统一般都要连接到局域网,这样就有数

十、甚至上百个控制器连接在一起。举例说,汽车制造和工业控制领域中的CAN有上百个微控制器在相互作用;ZigBee 无线控制网络也有若多数量的微控制器互连在一起。而且,随着嵌入式网络越来越复杂(因此需要更大的网络带宽和更远的传输距离),嵌入式以太网也开始涉足于工业控制、建筑物自动化、医疗和保安产品市场。目前市场的发展趋势是将这些局域网需要通过企业内联网或外联网特别是互联网与外界连接。嵌入式系统联网要求的不断增加,导致微控制器必须具备更多性能,更强的互连性,增加程序和数据内存空间来支持相应的通信协议,提高性能和处理带宽以进行系统传输数据、执行通信协议和提供严密的保安能力。在需要通过内联网或互联网监控CAN或ZigBee 网络的应用环境中,嵌入式微控制器必须能支持10/100M以太网、CAN、ZigBee 网络以及其他网络协议,更必须具有先进的安全加密算法。

另一个影响嵌入式系统的因素是通用串行总线(USB)的快速普及,尤其是在 PC 及其外设领域。与提供基本通信链路的传统通用异步收发器(UART)接口

不同,USB是一种内置丰富驱动程序的即插即用式总线接口,能缩短开发周期和设备安装时间。不但设计人员喜欢这种接口,终端用户也因为不必为新购的外设安装加载新的设备驱动程序而乐于使用。再考虑到采用笔记本电脑对复印机、自助售货机、ATM机,工厂自动化设备、家用安全系统等完成系统设置和现场服务,可以预计USB在嵌入式系统将占一重要席位。新款的笔记本电脑都只配备了USB接口,所以由它们服务的系统也必须有USB接口,否则这些系统便得采用旧款PC或USB适配器。

“信息家电——数字机顶盒”、“嵌入式应用——汽车电子”、“智能玩具与机器人”、“工业控制——机床、电子、交通、航空航天等”等都是嵌入式系统现在的应用。

将来:2012年8月30日,微软在广州召开嵌入式研讨会,与来自金融、电子、教育、医疗等行业客户一同探讨嵌入式技术的发展趋势,体验微软全新的嵌入式平台。随着Windows 8即将发布,对应的嵌入式的Windows平台也一定会带来全新的用户体验。威创、广电运通、天河弱电、海格通信、金鹏集团、广有通信等业内150多位客户代表共同分享了微软领先的嵌入式创新平台及成功的行业解决方案。

2012年8月21日 至23日,深圳国际工业计算机及嵌入式系统展览会由深圳市创意时代会展有限公司在深圳会展中心举办。此展会是中国唯一专著于IPC与嵌入式系统的技术型展会。汇集最新IPC与嵌入式系统产品与技术,推动IPC行业向开放、融合、标准化方向发展,展现物联网、智能电力、智能交通、智能安防、汽车电子等行业应用方案,立足深圳,影响中国。还同期举办更多高端论坛,汇聚行业智慧。这次的主打产品是目前最具有发展潜力的固态硬盘。

因为现代加工技术发展,过去那种设定程序后就让其固定地按程序运行的方式已经不能满足人们对现代产品加工的要求了,人们迫切的希望嵌入式系统具有人机交互的功能。例如我们传统的电视、电冰箱其中也嵌有处理器,但是这些处理器过去只是在控制方面应用。而现在只有按钮、开关的电器显然已经不能满足人们的日常需求,具有用户界面,能远程控制,智能管理的电器是未来的发展趋势。这也是嵌入式系统外设发展的一个原因。

三、目前存在的主要问题

企业真正的需求是什么?

第一,IPC 并未完全符合工业真正的需求。首先在工业领域中,使用的设备通常会是一天24 小时,一年365 天永不停机的运作,而在这运作期间不能有设备损坏的情形发生,所以它所需要的是高稳定性,不是像商业所使用的一般稳定就可以了,例如我们在看电视时,如果电视突然无法看了,于是拍两下就可以看了,这是我们可以接受的;又计算机在开机或使用到一半时发生当机,重新开机之后就可以使用了,这也是可以被接受的,但是以上情形在工业的领域中是无法接受的。

那么要如何达到高稳定性呢?最基本的需求是不要有风扇,而且是在整个设备中都不要有风扇,因为风扇会将环境的灰尘吸入,造成设备损坏,所以没有风扇的设备将会增加其稳定性;另外设备也必须要是密闭式的,也是在防止灰尘以及其它脏乱所侵害;再来工业所需要的设备最好是愈省电愈好,因为用电量高相对的会增加成本;另一个工业需求是体积越小越好,因为体积小相对的在同一个空间中所能摆放的设备比较多,代表可以增加产能。

第二,技术人才队伍数量上有所提升,但基础仍非常薄弱,特别是复合型人才非常缺乏,不少人存在着从小城市跳槽到大城市的想法,导致人才流失。目前我市虽有3所大专院校设置了相关专业,每年为丽水培养信息技术类本专科毕业生1000多人。

第三,资金投入力量不足,应用程度不一致。一方面丽水工业还处于初步阶段,企业发展势头虽好,但规模尚未壮大;另一方面,多数管理者对技术化与企业发展的关系认识不足,因此对企业技术化的投入也很少。

四、对存在问题提出的对策建议

信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:1,网络互联成为必然趋势;2,精简系统内核、算法,降低功耗和软硬件成本;3提供友好的多媒体人机界面;相信将来市场会出现更多,功能强大嵌入式系统产品。现提出以下建议:

一、政府引导与政策支持相结合。在要组织各种类型的研讨会和培训班,使管理者进一步了解企业技术化工作的重要性和紧迫性,特别是丽水位于浙西南欠

发达低于,信息相比较为闭塞。要通过国内外的典型案例分析,使企业真正受到教育和启发。同时各级政府在政策上也要对企业进行引导和支持,把技术化建设列为技术改造的一个重要部分,从政策调控上促进企业的技术化建设。

二、加强优化人才建设。企业技术型建设光靠设备更新是远远不够的,企业中,需要有一批既精通技术、又懂得企业经营管理的优秀专业人才来长期培训和帮助企业的所有其他相关人员,指导他们的各项工作,同时还要保证各个系统的正常运行和对系统的完善与维护工作。因此,培养多层次的人才是企业取得成功的必要条件,也是企业长远发展的客观要求。丽水虽是欠发达地区,但要有吸引人才的源动力。

三、走校企联合之路。

(1)充分利用现有资源促进信息化建设。高校在企业信息化建设中扮演了一个极其重要的角色,高校的优势体现在:人才优势(科技人员众多,各种专业人才聚集);知识与科技优势;创新优势。高校的技术和人才可以较好地弥补中小企业技术人才不足的劣势。实践中,一方面,高校通过对企业人才需求信息及创新需求信息的捕捉,及时调整专业、课程及高校研究方向与内容,主动为企业创新活动服务。另一方面,企业可以通过设立奖学金、基金或订单培养等方式与高校共同培养适应于本企业自身需求特征的人才,同时开展创新合作。

(2)走以竞促教、竞教结合的道路。参加各类竞赛不仅可以真正提高学生的动手能力,培养学生创新意识,也能培养学生很多非智力能力,例如展示能力、写作能力、团队合作等。对学校和教师而言,竞赛也可以反馈教学中的诸多不足,进而促进教学体制的改革。丽水学院可以参加嵌入式比赛,条件成熟后可组织参加全国大学生嵌入式物联网设计大赛。

第二篇:嵌入式系统实验报告

嵌入式系统实验报告

号:

名:

级:13电子信息工程

指导老师:

苏州大学 电子信息学院

2016年12月

实验一:一个灯的闪烁

1、实验要求

实现PF6-10端口所连接的任意一个LED灯点亮

2、电路原理图

图1 LED灯硬件连接图

3、软件分析

RCC_Configuration();/* 配置系统时钟 */

GPIO_Configuration();

/* 配置GPIO IO口初始化 */

for(;;)

{

GPIOF->ODR = 0xfcff;

/* PF8=0--> 点亮D3 */

Delay(1000000);

GPIOF->ODR = 0xffff;

/* PF8=1--> 熄灭D3 */

Delay(1000000);

4、实验现象

通过对GPIOF8的操作,可以使LED3闪烁

5、实验总结

这是第一次使用STM32开发板,主要内容是对IO端口进行配置,点亮与IO端口相连接的LED灯,闪烁周期为2S。通过本实验对STM32开发板的硬件原理有了初步了解。

实验二:流水灯

1、实验要求

实现PF6-10端口所连接的5个LED灯顺次亮灭

2、电路原理图

图1 流水灯硬件连接图

3、软件分析

int main(void){

RCC_Configuration();/* 配置系统时钟 */

GPIO_Configuration();/* 配置GPIO IO口初始化 */

for(;;)

{

GPIOF->ODR = 0xffbf;

/* PF6=0--> 点亮LED1 */ Delay(5000000);GPIOF->ODR = 0xff7f;

}

/* PF7=0--> 点亮LED2 */ Delay(5000000);

GPIOF->ODR = 0xfeff;

/* PF8=0--> 点亮LED3 */ Delay(5000000);

GPIOF->ODR = 0xfdff;

/* PF9=0--> 点亮LED4 */ Delay(5000000);

GPIOF->ODR = 0xfbff;

/* PF10=0--> 点亮LED5 */ }

4、实验现象

LED1~LED5依次点亮,亮灭的时间间隔都为1S。

5、实验总结

本次实验对STM32开发板的GPIO端口进行进一步学习,通过程序可以实现流水灯的闪烁。

实验三:单级外部中断

1、实验要求

按下某个按键,触发中断,中断服务程序改变LED灯状态

2、电路原理图

图3 SW1硬件原理图

3、软件分析

int main()

{

RCC_Configuration();

GPIO_Configuration();

GPIO_Write(GPIOF,0xffff);Delay(5000);

while(1)

{

}

/* 配置系统时钟 */

/* IO口初始化 */

/* 全灭 */

if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)==0)/* 如果SW1 PA8=0 */ {

GPIO_SetBits(GPIOF, GPIO_Pin_6);

/* LED1点亮 */

Delay(0x1FFFFF);

GPIO_ResetBits(GPIOF, GPIO_Pin_6);

/* LED1 熄灭 */ Delay(0x1FFFFF);} }

4、实验现象

原来5个LED灯都处于熄灭状态,按下SW1,触发中断程序,LED1点亮。

5、实验总结

通过本次实验,可以对某一状态通过外部中断,改变其当前状态。

实验四:多中断嵌套

1、实验要求

按下某个按键,触发中断,中断服务程序改变LED灯状态

2、电路原理图

图4 SW1,SW2,SW3硬件原理图

3、软件分析

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;

//设定中断源为PA0 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//中断占优先级为0 NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQChannel;

//设定中断源为PD3 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;//中断占优先级为1 NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;//设定中断源为PA8 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//中断占优先级为2 void EXTI0_IRQHandler(void){ int i=0;if(EXTI_GetITStatus(EXTI_Line0)!= RESET){ for(i=0;i<10;i++){

GPIO_Write(GPIOF,0xffff);

GPIO_SetBits(GPIOF, GPIO_Pin_6);/* LED1 点亮 */ Delay(0x5fFFFF);GPIO_ResetBits(GPIOF, GPIO_Pin_6);/* LED1 熄灭 */

Delay(0x5fFFFF);EXTI_ClearITPendingBit(EXTI_Line0);} } }

void EXTI3_IRQHandler(void)if(EXTI_GetITStatus(EXTI_Line3)!= RESET){ {

int i=0;for(i=0;i<10;i++){

GPIO_Write(GPIOF,0xffff);

GPIO_SetBits(GPIOF, GPIO_Pin_7);/* LED2 点亮 */ Delay(0x5fFFFF);GPIO_ResetBits(GPIOF, GPIO_Pin_7);/* LED2 熄灭 */ Delay(0x5fFFFF);EXTI_ClearITPendingBit(EXTI_Line3);} } } void EXTI9_5_IRQHandler(void){ int i=0;

if(EXTI_GetITStatus(EXTI_Line8)!= RESET){

for(i=0;i<10;i++){

GPIO_Write(GPIOF,0xffff);

GPIO_SetBits(GPIOF, GPIO_Pin_8);/* LED3 点亮 */

Delay(0x5fFFFF);

GPIO_ResetBits(GPIOF, GPIO_Pin_8);/* LED3 熄灭 */

Delay(0x5fFFFF);

EXTI_ClearITPendingBit(EXTI_Line8);} } }

4、实验现象

中断优先级从高到低依次为:SW3,SW2,SW1 原来5个LED灯都处于熄灭状态,按下SW1,LED3应该闪烁10次,当其闪烁5次后按下SW2,LED2也应该闪烁10次,当其闪烁4次后按下SW3,LED1也应该闪烁10次,则当LED1闪烁完10次后,LED2继续闪烁6次,之后LED1继续闪烁5次。

5、实验总结

通过本次实验,可以对LED状态实行中断嵌套,由以上实验现象,得出以下结论:高中断优先级可以打断低优先级,中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行,反之,低中断优先级不可以打断高优先级。

实验五:TIM2的基本应用

1、实验要求

TIM2定时器将LED灯定时点亮和熄灭一定的时间

2、电路原理图

3、软件分析

TIM_Cmd(TIM2, ENABLE);

/* TIM2 enable counter */ TIM_TimeBaseStructure.TIM_Period = 1999;

TIM_TimeBaseStructure.TIM_Prescaler = 35999;

//定时时间为1s void TIM2_IRQHandler(void){ TIM_ClearITPendingBit(TIM2, TIM_IT_Update);

GPIO_WriteBit(GPIOF, GPIO_Pin_6,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOF, GPIO_Pin_6)));}

4、实验现象

LED1灯按照1S的定时时间不断闪烁

5、实验总结

通过本次实验,可以实现对LED灯进行定时控制其闪烁,而不需要延时函数控制了,定时时间较为精准。实验六:TIM2,TIM3,TIM4多定时器的应用

1、实验要求

利用TIM2,TIM3,TIM4定时器使LED灯以不同的频率闪烁

2、电路原理图

3、软件分析

NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;此处比上一个实验增加了2个定时器,同时又增加了一个优先级

4、实验现象

中断优先级从高到低依次为:TIM2,TIM3,TIM4 首先LED1以1S的定时时间闪烁5次,之后LED2以2S的定时时间闪烁5次,最后LED3以3S的定时时间闪烁5次

5、实验总结

利用定时器可以同时使LED灯按照不同的频率闪烁,但是为了现象明显,可以加一个优 先级,分别观察现象。

实验七:串口USART1读取CPU的ID号

1、实验要求

通过USART1读取 CPU 的 96 bit ID

2、电路原理图

图 开发板USART原理图

3、软件分析

void Get_ChipID(void)/* 获取芯片ID */ { ChipUniqueID[0] = *(u32 *)(0X1FFFF7F0);/* 高字节 */ ChipUniqueID[1] = *(u32 *)(0X1FFFF7EC);

ChipUniqueID[2] = *(u32 *)(0X1FFFF7E8);/* 低字节 */ } void USART_Configuration(void){

USART_InitTypeDef USART_InitStructure;

USART_InitStructure.USART_BaudRate = 115200;

USART_InitStructure.USART_WordLength = USART_WordLength_8b;

USART_InitStructure.USART_StopBits = USART_StopBits_1;

USART_InitStructure.USART_Parity = USART_Parity_No;

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

USART_Init(USART1, &USART_InitStructure);

USART_ITConfig(USART1, USART_IT_TXE, ENABLE);

USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

USART_ClearFlag(USART1, USART_FLAG_TC);

USART_Cmd(USART1, ENABLE);

/* Enable USART1 */ }

4、实验现象

PA9连接的是USART1 Tx,PA10连接的是USART1 Rx,再通过串口调试助手就可 以在电脑上面显示出CPU的ID以及flash容量大小。

5、实验总结

本次实验实现了串口和PC机的传输,可以通过USART1将CPU的ID在电脑上显示出来。

实验八:异步通信USART2的重映射

1、实验要求

实现异步通信USART2的重映射,将数据传送到PC机上

2、电路原理图

图 开发板USART原理图

3、软件分析

void GPIO_Configuration()

/* IO口初始化 */ {

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;

/* USART2 Tx--> PD05 */

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;/* PD05--> JP7 WR */

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOD, &GPIO_InitStructure);

GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;

/* USART2 Rx--> PD06 */

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOD, &GPIO_InitStructure);GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);} 该程序将USART2重映射到PD05,PD06引脚

4、实验现象

PD05连接的是USART2 Tx,PD06连接的是USART2 Rx,通过串口调试助手就可以在电脑上面显示Program Running!

5、实验总结

通过本次实验,可以实现对异步通信USART2的重映射,再通过串口调试助手在电脑上显示出来。

第三篇:嵌入式系统发展趋势

未来嵌入式系统的发展趋势 在网络、通信、微电子发展的基础上,以及势不可挡的数字化信息产品的强大需求推动下,嵌入式技术具有广阔的发展创新空间。

(1)低功耗、高性能、高可靠性的系统需求对我国芯片设计是一个机遇。以嵌入式处理 器为领头的国产CPU、片上系统(SoC)、片上网络系统(NoC)将有很大的发展。

(2)Linux正逐渐成为嵌入式操作系统的主流;J2ME技术也将对嵌入式软件的发展产生深远影响。目前自由软件技术备受青睐,并对软件技术的发展产生了巨大的推动作用。嵌入式操作系统内核不仅需要具有微型化、高实时性等基本特征,还将向高可信性、自适应性、构件组件化方向发展;支撑开发环境将更加集成化、自动化、人性化;系统软件对无线通信和能源管理的功能支持将日益重要。近几年来,为使嵌入式设备更有效地支持Web服务而开发的操作系统不断推出。这种操作系统在体系结构上采用面向构件、中间件技术,为应用软件乃至硬件的动态加载提供支持,即所谓的“即插即用”,在克服以往的嵌入式操作系统的局限性方面显示出明显的优势。

(3)Java虚拟机与嵌入式Java将成为开发嵌入式系统的有力工具。嵌入式系统的多媒体化将变成现实。它在网络环境中的应用已是不可抗拒的潮流,并将占领网络接入设备的主导地位。

(4)嵌入式系统与人工智能、模式识别技术的结合,将开发出各种更具人性化、智能化的实际系统。智能手机、数字电视,以及汽车电子的嵌入式应用,是这次机遇中的切入点。伴随网络技术、网格计算的发展,以嵌入式移动设备为中心的“无所不在的计算”将成为现实。

第四篇:嵌入式系统实验

南京信息工程大学 实验(实习)报告

实验(实习)名称

电机转动控制及中断实验 实验(实习)日期

2016.5 得分

指导教师 谢胜东

学院 计算机与软件 专业 计算机科学与技术 年级

2013 班次 3 姓名

叶正舟 学号

20131308072 实验名称

电机转动控制及中断实验 实验目的

(1)熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置

(2)编程实现 ARM系统的PWM 输出和I/O 输出,前者用于控制直流电机,后者用于控制步进电机。

(3)了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。

(4)掌握带有PWM 和I/O 的CPU 编程实现其相应功能的主要方法。实验环境

(1)ADS1.2开发环境(2)PC(3)串口线 实验内容及要求

学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM知识,掌握PWM 的生成方法,同时也要掌握I/O 的控制方法。

(1)编程实现ARM芯片的一对PWM 输出用于控制直流电机的转动,通过A/D 旋钮控制其正反转及转速

(2)编程实现ARM的四路I/O 通道实现环形脉冲分配用于控制步进电机的转动,通过A/D 旋钮转角控制步进电机的转角。

(3)通过超级终端来控制直流电机与步进电机的切换。实验设计与实验步骤

(1)新建工程,将“电机转动控制实验”中的文件添加到工程(2)编写直流电机初始化数(MotorCtrl.c)(3)控制直流电机与步进电机 实验过程与分析

(1)通过把从串口中得到控制信息的代码修改成从zlg7289芯片中读取小键盘信息,从而利用试验台的小键盘来控制步进电机和直流电机的切换

(2)A/D转换可以把电信号转换成数字信号来控制电机的转速。for(;;)

{ loop:

//if((rUTRSTAT0 & 0x1))//有输入,则返回

if(rPDATG&ZLG7289_KEY)//17键小键盘控制电机

{

*Revdata=RdURXH0();

goto begin;

}

Delay(10);ADData=GetADresult(0);

if(abs(lastADData-ADData)<20)

goto loop;Delay(10);count=-(ADData-lastADData)*3;

//(ADData-lastADData)*270/1024为ad旋钮转过的角度,360/512为步距角,//由于接了1/8减速器,两者之商再乘以8为步进电机相应转过的角度

if(count>=0)

{//转角大于零

for(j=0;j

{

for(i=0;i<=7;i++)

{

SETEXIOBITMASK(stepdata[i], 0xf0);

Delay(200);

}

}

}

lastADData=ADData;

} } 实验结果总结

利用A/D转换器实现了对直流电机和步进电机的控制,利用实验设备上自带的小键盘实现了A/D转换器对两个电机控制的切换。心得体会

通过本次实验,熟悉了ARM自带的六路(三对)PWM,并对直流电机和步进电机的工作原理有了进一步的了解。

第五篇:嵌入式系统实验报告

嵌入式系统设计实验报告

班 级: 学 号: 姓 名: 成 绩: 指导教师:

1.实验一

1.1 实验名称

博创UP-3000实验台基本结构及使用方法

1.2 实验目的

1.学习嵌入式系统开发流程。

2.熟悉UP-net3000实验平台的核心硬件电路和外设。

3.增加对各个外设的了解,为今后各个接口实验打下基础。

1.3 实验环境

博创UP-NETARM3000 嵌入式开发平台

1.4 实验内容及要求

(1)嵌入式系统开发流程概述

(2)熟悉UP-net3000实验平台的核心硬件电路和外设(3)ARM JTAG的安装与使用

(4)通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态(5)通过本次课程对各个外设的了解,为今后各个接口实验打下基础

1.5 实验设计与实验步骤

1.硬件安装 2.软件安装

(1)超级终端:

运行Windows 系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端;在接下来的对话框中选择 ARM开发平台实际连接的PC机串口;完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。

(2)JTAG 驱动程序的安装:

执行armJtag目录下armJtagSetup.exe程序,选择安装目录,安装 JTAG 软件。

1.6 实验过程与分析

(1)了解嵌入式系统开发流程(2)对硬件的安装(3)对软件的安装

1.7 实验结果总结

通过本次实验对嵌入式系统开发流程进行了了解,并且对硬件环境和软件环境进行了安装配置,通过本次实验对以后的接口实验打了基础。

1.8 心得体会

通过本次实验对嵌入式实验有了初步的了解,对基本开发流程也有了初步的了解。

2.实验二

2.1 实验名称

ADS1.2软件开发环境使用方法

2.2 实验目的

熟悉ADS1.2开发环境,学会 ARM仿真器的使用。使用 ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。

2.3 实验环境

(1)ADS1.2开发环境

(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线

2.4 实验内容及要求

本次实验使用ADS 集成开发环境,新建一个简单的工程文件,并编译这个工程文件。学习ARM仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

2.5 实验设计与实验步骤

(1)运行ADS1.2开发环境(2)新建工程文件(3)编译工程文件

(4)下载编译好的文件到嵌入式控制器中运行

2.6 实验过程与分析

(1)实现Hello World!

最终在输出了Hello World(2)编程实现ARM 和计算机之间的串行通讯

实现了串口通信,用ARM监视串口,接收到的字符串由ARM通过串口发送给超级终端,最终在超级终端上显示了按下的键。学习了串行通讯原理,了解串行通讯控制器,阅读ARM 芯片文档,掌握ARM 的UART相关寄存器的功能,熟悉ARM 系统硬件的UART 相关接口。

2.7 实验结果总结

对ADS 1.2开发环境使用和AXD Debugger使用方法有了初步的了解,基本成功运行了编译好的工程文件。

2.8 心得体会

学习了ADS1.2开发环境的使用方法和调试方法。使用 ADS 编译、下载、调试并跟踪一段已有的程序,了解了嵌入式开发的基本思想和过程。

3.实验三

3.1 实验名称

键盘控制方法及LED驱动设计

3.2 实验目的

熟悉ZLG7289芯片的内部结构,掌握用ZLG7289驱动键盘和LED的方法,掌握ARM汇编语言和C语言的编程方法编写出一段程序,要求能在LED上显示出小键盘上按下的4位数字。

3.3 实验环境

(1)ADS1.2开发环境

(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线

3.4 实验内容及要求

通过ZLG7289芯片驱动17键的键盘和8个共阴极LED,将按键值在LED 上显示出来。

3.5 实验设计与实验步骤

(1)新建工程,将“Exp3键盘及LED 驱动实验”中的文件添加到工程。(2)定义ZLG7289 寄存器(3)编写ZLG7289 驱动函数(4)定义键盘映射表(5)定义键值读取函数

(6)编写主函数

3.6 实验过程与分析

(1)定义ZLG7289寄存器 #define ZLG7289_CS #define ZLG7289_KEY #define ZLG7289_ENABLE()do{ZLG7289SIOBand=rSBRDR;ZLG7289SIOCtrl=rSIOCON;rSIOCON=0x31;rSBRDR=0xff;rPDATB&=(~ZLG7289_CS);}while(0)#define ZLG7289_DISABLE()do{rPDATB|=ZLG7289_CS;rSBRDR=ZLG7289SIOBand;rSIOCON=ZLG7289SIOCtrl;}while(0)(2)主函数中需要在开始初始化zlg7289。编写驱动和键值映射之后,在一个循环里面从键盘中读取按键的号码,根据键值映射读出按键的值。然后在主函数中,将读出的按键值在数码管上显示出来。

(3)Main函数的主要功能部分,GetKey()函数得到按键值是调用zlg7289获取键盘事件和核心。

3.7 实验结果总结

通过实验最终LED灯上能显示数字,即实现了通过键值控制LED灯

3.8 心得体会

通过本次实验对ZLG7289芯片的内部结构有了更进一步的了解,对ZLG7289驱动键盘和LED的方法也更进一步的进行了学习。

4.实验四

4.1 实验名称

电机转动控制及中断实验

4.2 实验目的

(1)熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置

(2)编程实现 ARM系统的PWM 输出和I/O 输出,前者用于控制直流电机,后者用于控制步进电机。

(3)了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。

(4)掌握带有PWM 和I/O 的CPU 编程实现其相应功能的主要方法。

4.3 实验环境

(1)ADS1.2开发环境

(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线

4.4 实验内容及要求

学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM知识,掌握PWM 的生成方法,同时也要掌握I/O 的控制方法。

(1)编程实现ARM芯片的一对PWM 输出用于控制直流电机的转动,通过A/D 旋钮控制其正反转及转速

(2)编程实现ARM的四路I/O 通道实现环形脉冲分配用于控制步进电机的转动,通过A/D 旋钮转角控制步进电机的转角。

(3)通过超级终端来控制直流电机与步进电机的切换。4.5 实验设计与实验步骤

(1)新建工程,将“电机转动控制实验”中的文件添加到工程(2)编写直流电机初始化数(MotorCtrl.c)(3)控制直流电机与步进电机

4.6 实验过程与分析

(1)通过把从串口中得到控制信息的代码修改成从zlg7289芯片中读取小键盘信息,从而利用试验台的小键盘来控制步进电机和直流电机的切换

(2)A/D转换可以把电信号转换成数字信号来控制电机的转速。for(;;)

{ loop:

//if((rUTRSTAT0 & 0x1))//有输入,则返回

if(rPDATG&ZLG7289_KEY)//17键小键盘控制电机

{

*Revdata=RdURXH0();

goto begin;

}

Delay(10);ADData=GetADresult(0);

if(abs(lastADData-ADData)<20)

goto loop;Delay(10);count=-(ADData-lastADData)*3;

//(ADData-lastADData)*270/1024为ad旋钮转过的角度,360/512为步距角,//由于接了1/8减速器,两者之商再乘以8为步进电机相应转过的角度

if(count>=0)

{//转角大于零

for(j=0;j

{

for(i=0;i<=7;i++)

{

SETEXIOBITMASK(stepdata[i], 0xf0);

Delay(200);

}

}

}

else

{//转角小于零

count=-count;

for(j=0;j

{

for(i=7;i>=0;i--)

{

SETEXIOBITMASK(stepdata[i], 0xf0);

Delay(200);

}

}

} lastADData=ADData;

} }

(3)S3C44B0X 具有6 个16bit定时器,每个定时器可以基于中断模式或 DMA模式运行。在定时中断服务程序中写需要定时处理的程序,每隔一段时间就会运行一次。

4.7 实验结果总结

利用A/D转换器实现了对直流电机和步进电机的控制,利用实验设备上自带的小键盘实现了A/D转换器对两个电机控制的切换。

4.8 心得体会

通过本次实验,熟悉了ARM自带的六路(三对)PWM,并对直流电机和步进电机的工作原理有了进一步的了解。

5.实验五

5.1 实验名称

LCD驱动及触摸屏实验

5.2 实验目的

掌握LCD显示原理及显示驱动的嵌入式系统编程实现方法;学习基于ARM的LCD 显示驱动控制方法,通过对ARM 内置的LCD 控制器进行编程实现驱动LCD显示屏;学习触摸屏基本原理,理解触摸屏的输出标定以及与LCD 显示器配合的过程,编程对触摸屏进行控制。

5.3 实验环境

(1)ADS1.2开发环境(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线

5.4 实验内容及要求

(1)学习LCD显示器的基本原理,理解其驱动控制方法(2)编程对触摸屏进行控制,实现:

1.点击触摸屏上两点后,两点之间画出一条直线。2.点击触摸屏并在其上移动,显示移动轨迹

(3)编程实现总线方式驱动模块的LCD和ARM内置的LCD控制器来驱动LCD

5.5 实验设计与实验步骤

(1)新建工程

(2)定义有关常量与宏

#define LCDWIDTH 320 #define LCDHEIGHT 240 U32* pLCDBuffer16=(U32*)0xc000000;// 一级缓存指针 U32 LCDBuffer[LCDHEIGHT][LCDWIDTH];//二级缓存(3)编写LCD 初始化函数(4)编写LCD 刷新函数(5)编写主函数

5.6 实验过程与分析

(1)通过不断刷新的方式获得LCD液晶屏幕的动画。即刷新函数将二级缓存LCDBuffer 的数据由32 位彩色图形信息转换成8 位256 色的图形信息,然后放到pLCDBuffer16指向的一级缓存。

(2)触摸屏的先得到触屏输出的电信号的值,然后转换为实际的屏幕坐标,再根据动作来决定如何处理缓存信息,刷新LCD。

LCD二级缓存矩阵: for(i=0;i<9;i++){ switch(i){ case 0: jcolor=0x00000000;// 黑色 break;case 1: jcolor=0x000000e0;// 红色 break;case 2: jcolor=0x0000d0e0;// 橙色 break;case 3: jcolor=0x0000e0e0;// 黄 break;case 4: jcolor=0x0000e000;// 绿色 break;case 5: jcolor=0x00e0e000;// 青色 break;case 6: jcolor=0x00e00000;// 蓝色 break;case 7: jcolor=0x00e000e0;// 紫色 break;case 8: jcolor=0x00e0e0e0;// 白色 break;} for(k=0;k<240;k++)for(j=i*32;j

5.7 实验结果总结

本次实验由于坐标设定的问题并没有成功实现触摸痕迹的显示,但在测试过程中,在触摸屏上点击或移动时会在超级终端上有显示。

5.8 心得体会

虽然本次实验不太成功实现,但对LCD屏幕和触摸屏的工作原理有了进一步的了解,更好的掌握了LCD显示原理及显示驱动的嵌入式系统编程实现方法。

6.实验六

6.1 实验名称

ucos-II裁剪实验

6.2 实验目的 掌握μcos-II裁剪的基本原理与嵌入式编程实现方法;学习如何根据具体情况对μcos-II操作系统进行裁剪,从而得到即满足需要,又非常紧凑的应用软件系统。

6.3 实验环境

(1)ADS1.2开发环境

(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线

6.4 实验内容及要求

(1)通过对μcos-II配置文件(OS_CFG.H)中相关的配置常量进行设置,实现对μcos-II的裁剪

(2)给出裁剪的详细过程与裁剪结果说明,并生成裁剪后的操作系统文件。

6.5 实验设计与实验步骤

(1)新建工程,将ucosII移植的文件添加到工程中。

(2)编辑os_cfg.h头文件。

(3)将裁减后的系统所需用到的功能宏定义配置常量置为1,实现系统的裁减。(4)编译生成新的ucosII系统。

6.6 实验过程与分析

(1)配置功能常量,将裁剪后的系统需要用到的功能配置常量设为1(2)裁减信号量数据(3)配置数据结构

OS_MAX_TASKS,若程序中用到了三个任务,则该值的最小值为3 OS_LOWEST_PRIO设置程序中最低任务的优先级

OS_TASK_IDLE_STK_SIZE设置UC/OS操作系统中空闲任务堆栈的容量 OS_TASK_STAT_STK_SIZE设定统计任务的任务堆栈容量

6.7 实验结果总结

通过本次实验,裁减了系统,修改了某些数据结构相关的常量,节省了内存空间

6.8 心得体会

通过本次实验主要学习到了如何根据具体情况对μcos-II操作系统进行裁剪,从而得到即满足需要,又非常紧凑的应用软件系统。

7.实验七

7.1 实验名称

ucos-II移植实验

7.2 实验目的

了解µC/OS-II 内核的主要结构,掌握ARM的C语言和汇编语言的编程方法;了解ARM7处理器结构;掌握将µC/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法

7.3 实验环境

(1)ADS1.2开发环境

(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线

7.4 实验内容及要求

(1)将µC/OS-II 内核移植到ARM7 微处理器S3C44B0上。(2)编写两个简单任务,在超级终端上观察两个任务的切换。

7.5 实验设计与实验步骤

(1)新建工程

(2)该实验的文件分为两类,其一是 STARTUP目录下的系统初始化、配置等文件,其二是uCOS-II 的全部源码,arch 目录下的3 个文件是和处理器架构相关的3.定义驱动函数(tchscr.c)(3)设置os_cpu.h 中与处理器和编译器相关的代码(4)用C 语言编写6 个操作系统相关的函数(5)用汇编语言编写4 个与处理器相关的函数

(6)编写一个简单的多任务程序来测试一下移植是否成功(7)编译并下载移植后的uCOS-II

7.6 实验过程与分析

(1)首先需要对相关寄存器做详细的设定(2)用汇编语言编写与处理器相关的函数(3)用分时的方法同时运行两个任务

OS_STK TaskName_Stack[STACKSIZE]={0, };//任务堆栈 void TaskName(void *Id);//任务函数

#define TaskName_Prio N //任务优先级

在main()函数中调用OSStart()函数之前用下列语句创建任务: OSTaskCreate(TaskName,(void*)0,(OS_STK*)&TaskName_Stack[STACKSIZE-1], TaskName_Prio);OSTaskCreate()函数的原型是:

INT8U OSTaskCreate(void(*task)(void *pd), void *p_arg, OS_STK *ptos, INT8U prio);(4)编写任务函数

7.7 实验结果总结

通过实验达到了ucosII系统移植的目的,并编写了一个简单的多任务程序,分时运行。

7.8 心得体会

通过本次实验了解了µC/OS-II 内核的主要结构,掌握了ARM的C语言和汇编语言的编程方法。

8.实验八

8.1 实验名称

各接口模块相互衔接综合实验

8.2 实验目的

(1)回顾串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制等接口模块驱动设计及开发方法

(2)综合应用以上全部或者部分模块,实现一个嵌入式综合应用系统,要求至少用到8个模块中的5个

8.3 实验环境

(1)ADS1.2开发环境

(2)博创UP-NETARM3000 嵌入式开发平台(3)PC(4)串口线

8.4 实验内容及要求

(1)综合应用串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制等全部或者部分模块(2)实现一个嵌入式综合应用系统,要求至少用到8个模块中的5个,尽量使综合应用系统具备合理的功能。

8.5 实验设计与实验步骤

(1)运行ADS1.2开发环境(2)新建工程文件

(3)将综合实验中用到的文件放到这个工程文件中(4)下载编译好的文件到嵌入式控制器中运行

8.6 实验过程与分析

(1)本次实验设计主要是通过中断来实现,设定了flag=1,2,3,4,5,6六个标志位,对应不同的键值来实现功能的切换

(2)通过num/lock键来控制直流电机(3)通过“/”键来控制步进电机

(4)通过“*”键来控制屏输出“hello world”(5)通过“+”键来实现LED灯的计时

(6)通过“DEL”键来实现清屏和LED灯的清除

(7)通过“enter”键来进入到键值控制LED显示的功能

8.7 实验结果总结

实验最终能实现5个功能的切换,但不足的是未涉及到触摸屏的设计,并且最后的键值控制LED灯不能实现正常的中断跳转。

8.8 心得体会

通过本次综合性的实验来综合之前做的串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制实验,回顾了之前的知识,对整体的运用有了进一步的了解,但是实验结果仍有很多的不足,需要改进。

9.实验总结与心得体会

通过之前的串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制实验这7个小模块的实验,对嵌入式系统的开发流程有了基本的了解,熟悉了博创UP-NETARM3000实验台和ADS1.2软件的实验环境,同时也掌握了各模块功能实现功能的基本原理。在最后的综合性实验中,通过对以上知识的掌握和理解,进一步的对以上知识进行了加深和巩固,虽然有几次实验实现的实验结果并不是很成功,但还是达到了学习和理解的效果。

下载嵌入式系统调查报告word格式文档
下载嵌入式系统调查报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    嵌入式系统实验报告

    广西工学院鹿山学院 实 验 报 告 课程名称: 嵌入式系统 指导教师: 刘瑞琪 班 级: 自动化101 姓 名: 杨杰 学 号: 20102787 成绩评定: 指导教师签字: 2013年5月25日 实验一简单的......

    嵌入式系统实验报告

    嵌入式系统设计实验报告 班 级:学 号:姓 名:成 绩:指导教师: 20110612 2011061208 李晓虹 武俊鹏、刘书勇 1. 实验一 1.1 实验名称 博创UP-3000实验台基本结构使用方法 1.2......

    嵌入式系统课程设计

    《嵌入式系统概论》综合设计报告书 设计题目:用键盘控制LED显示不同图形 中央民族大学 二零零八年十月三十一日 一、 设计目的 了解LED点阵和矩阵键盘的工作原理。 二、 设计......

    嵌入式系统学习心得

    篇一:嵌入式心得体会 这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。 广义上讲,凡是带有微......

    嵌入式系统学习心得(精选合集)

    首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通。他们的方面上我只......

    嵌入式系统教学大纲

    《嵌入式系统》课程教学大纲 课程名称: 嵌入式系统 课程编码:51610209 学时: 44 学分:2.5 开课学期:7 课程类别:专业平台课程 课程性质:必修 适用专业:电子信息科学与技术 电子信息......

    构建嵌入式linux系统

    构建嵌入式linux系统 (MP3播放器)功能要求: (1)系统(bootloader,kernel,rootfs)烧写在板子中; (2)打开电源开关,系统自动启动,启动最后进入到一个GUI界面(MP3播放器)。 (3)用户可以操作该界面......

    嵌入式系统ARM实验报告

    南京邮电大学通信与信息工程学院 实验报告 实验名称:实验一基于ADS开发环境的设计 实验二嵌入式Linux交叉开发环境的建立 实验三嵌入式Linux环境下的程序设计课程名称嵌入式......