mini2440之U-boot移植详细手册-20110908.pdf
mini2440之U-boot移植详细手册-20110908.pdf上海嵌入式家园-开发板商城贺工www.embedclub.com第6章 U-BOOT在MN440上的移植.…556.1建立开发板文件,测试编泽环境55611修改顶层 Makefile561.2在/b0ad中建smd2440日录和文件5661.3 include/ngs/中建立发板配量之件,.:·61.4测试编译环境566,2第一阶段:探索启动代码6.2.1关闭为A79200写的ED必转576.2.2修改CPU额率初始化设置586.2.3修改0weve/nit.S文件,…59624修改代码重定向部分606.2.5增加ED的点亮架作…6963第二阶段:修改初始化代码7063修改加am/b0ard,C文件…706.3.2修改bord/ embedclub/smdk2440/5mdk2440.c文件64第三阶段:完善目标板夕设驱动…76641 Nand flash相关代码的修改..7664.2添加s(2)像烧写功能…7964.3修改 Nor flash写入功能的代644修改网络相关代码9364.5添加口 Xmodem传物协议(可不修改)93646添加CD显小功能96647添加D卡MMC)读取功能10165第四阶段:修正配置文件11865.1添加 CONFIG S3C2440条件定义11865.2修改量之 include/ configs/smdk2440a,h66重新编译并测试第7章UBO0T下添加自定义的命令13471MAN_LooP()与 ABORTBOOT(两数分析1347.11 main loop()的数分析:1357.1.2 abortboot/两数分析tinnddnd4灬13572U-BoOT卜添加主菜单界面命令MENU137第8章 U-BOOT下通过DNW实现 USB SLAVE下载功能4.81添加 USB SLAVE下载功能.…14382使用 WINDOWS下DNW测试 USB SLAVE下载功能14983在LNx下安装DNW实现 USB SLAVE下载功能151831 Linux下DNW源码下我1518.32编详DNW驱动和程序15183.3挂教 secbulk ko内孩模块.1518.34使iux下DNW完成下我…151第9章UBoD0T下载的源代码链接…上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com第章的概念与功能嵌入式 Linux软件结构与分布一般情况下嵌入式系统中的软件主要分为以下几部分:引导加载程序:其中包括内部中的固化启动代码和两部分。内部固化是厂家在芯片生产时候固化的,作用基本上是引导有的芯片比较复杂,比如在屮没有代码的时候有许多启动方式或以太网等等。而则很简单,只有和和文件系统。包括根文件系统和建立于内存设备之上的文件系统(等等)。它是提供管理系统的各种配置文件以及系统执行川户应用程序的良好运行环境及载体。应用程序。用户自定义的应用程序,存放于文件系统之中。在存储器中,他们的分布一般如:根文件系统其他文件系统参数区被挂载到根文件系统或者作为但是以上只是大部分情况下的分布,也有一些可能根文件系统是,被一起压缩到了内核映像甲,或老没有参数区,等等在嵌入式 Linux中 Bootloader的必要性内核的启动除了内核怏像必须在主存的适当位置,还必须具备一定的条件:R0=01.CPU寄存器的设置:R1= Machine id(即 Machine type number,定义在inux/arch/ arm/tools/ mach typesR2=内核启动参数在RM中起始基地址;2.CPU模式:必须禁止中断(IRQs和FIQs);CPU必须SVC模式M必须关闭3. Cache和MMU的设置:指令 Cache可以打开也可以关闭:数据 Cache必须关闭;上海嵌入式家园一开牧椒商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com但是在刚上电启动的时候,一般连内存掉制器都没有初始化过,根本无法在主存中运行程序,更不可能处在内核启动环境中。为了初始化及其他外设,使得内核可以在系统主存中运行,并让系统符合内核启动的必备条件,必须要一个先于内核运行的程序,他就是所谓的引导加载程序(而并不是才需要,而是几乎所有运行操作系统的设备都需要。我们的的就是的一部分(只是前期引导,后面一般还有外中的各种),对于来说,的功能和选择综上:所述是在操作系统内核启动之前运行的一段小程序。通过这段程序我们可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好止确的环境,最后从别处(、以太网、)载入内核映像到主存并跳到入口地址。由于需要直接操作硬件,所以它严重依赖于硬件,而且依据所引导的操作系统的不同,也有不同的选择。对于嵌入式世界中更是如此。就而言,如果是引导般选用韩国的公司设计的或者软件工程中心的,如果是引导,就选用。如果是开发构架下的,就可选用由和发布的。如果是要引导系统,可以选用同是公司开发的所以在嵌入式世界中建立一个通用的几乎是不可能的,而可能的是让一个代码支持多种不同的构架和操作系统,并让她有很好的可移植性。就是攴持多平台多操作系统的一个杰出代表。这也是的优势所在,因为如果在开发时熟悉了,再转到别的平台的时候,就可以很快地完成这个平台下的移植。而且的代码结构越来越合理,对于新功能的添加也十分容易次推荐阅读:嵌入式系统技术内幕上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com第章简介U-boot的起源是的简称,其含义是,是遵循条款的开放源码项目。最早德国软件工程中心的基于和的源码创建了工程项目,此后不断添加处理器的支持。而后,移植到平台上,创建了工程项日。最终,以工程和工程为基础,创建了工程年月日第一个版木发布,同时和停止维护而今作为一个主流、通用的,成功地被移植到包括等主流休系结构上的百种开发板,成为功能最多、灵活性最强,并且开发最积极的廾涼日前仍然由维护U-boot的开发情况和资源最早的版本号是由来表示的,从直发展到。之后便开始使用年份加月份的表示方法,从到现在的平均每个多月出一个新版本。每次代码的结构和定义都会有一些修和改进,其代码越来越规整,功能越来越强,但是移植的难度反而越来越小,需要修改的地方越来越少不仅有主线版本,在的代码仓库中还有各个构架的分支版本些分支会在一定的时候将修改汇入主线。下面总结一下关丁源代码的网络资源官方链接德国软件工程屮心主页官方主页注意其中的邮件列表链接官方源码下载官方代码仓库针对的修改于机的源码上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com的源码(针对源码(针对上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com第章开发环境搭建交叉编译工具链的安装编译公A的时候,必须使用交叉编译工具链。你可以使用友善之臂提供的交叉编译工具(版本),也可以使用或自己编译一个。至于如何用工具自己编译交叉编译工具链,请看的博客的相关文章:用建立—交叉编译环境建立交叉编译环境(以()为例)在编译好交叉编译工具链后,要在环境变量的中添加编译工具的路径(也就是所在的路径),这样在编译时系统才找得到编译器的命令。在下的修改方法如下:在最后加上:交叉编译工具的路径网路服务的设置在使用的时候常常会用到宿主机的和这两种网络服务,所以最好在开发前设置好。下面以下使用安装为例,简单介绍一下安装配置过程:安装配置服务安装酣置服务的大致步骤如下:()安装和程序()修改配置文件()根据配置文件的跻径,建立日录,并修改日录权限;()重启服务()本地传输测试。以下是一个安装和配置主要步骤的脚本,大家参考:你想要的目录路径上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com你想要的日录路径建立目录,并修改目录权限:重启安装配置服务安装配置服务的大致步骤如下:()安装内核服务;()重新配置服务,修改和配置文件,重启服务()修改服务的配置文件添加服务∏录和配置,重新导入配置()重启服务,并检查可挂载的日录()在本地挂载测试以下是一个安装和配置主要步骤的脚本,大家参考:上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com对选特别要注意上面的的形式,以前是形如,现在是掩码为数的形式。用旧的格式可能会出问题具体的说明建议看册:串口终端程序的安装配置在使用的时候,必然会用到串口与开发板进行通信,所以串口终端程序必不可少。下面简单介绍下常用的牛凵终端:和的安装配置(以下使川安装为例)。的安装配置(推荐安装)在下是通过串口传输文件到开发板,就属比较好用上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/
- 2020-12-08下载
- 积分:1
SVPWM算法详解_已标注重点_
详细的讲解了SVPWM的过程,及其仿真,很适合初学者或(37)即磁链空间矢量可以等效为电压空间矢量的积分,如果能够控制电压空间矢量的轨迹为如式(3.4)所示的圆形矢量,那么磁链空间矢量的轨迹也为圆形。这样,电动机旋转磁场的轨迹问题就可以转化为电压空间矢量的运动轨迹问题。进一步分析,由式(3.3)(3.5)(3.7)可以得到公式(3.8)∫-+yy(38)对电压积分,利用等式两边相等的原则有(39)其中,v为电机磁链的幅值,即为理想磁链圆的半径。y当供电电源保持压频比不变时,磁链圆半径v是固定的。在 SVPWM控制技术中,是取以y为半径的磁链圆为基准圆的。32逆变器电压的输出模式图32给出了电压源型PWM逆变器—异步电动机示意图14。昇步电动机定子绕组YY图3.2PWM逆变器电路(1~6为GBT)对于180°导电型的逆变器来说,三个桥臂的六个开关器件共可以形成8种开关模式。用分别标记三个桥臂的状态,规定当上桥臂器件导通时桥臂状态为1,下桥臂导通时桥臂状态为0,这样逆变器的八种开关模式对应八个电压空间矢量,其中为直流侧电压在逆变器的八种开关模式中,有六种开关模式对应非零电压空间矢量,矢量的幅值为一;有两种开关模式对应的电压矢量幅值为零,称为零矢量。当零矢量作用于电机时不形成磁链矢量;而当非零矢量作用于电机时,会在电机中形成相应的磁链矢量。对于每一个电压空间矢量,可由图32求出各相的电压值,再将各相的电压值代入式(3.3),可以求得电压空间矢量的位置。下面以开关状态)=(、0、0)为例,即开关导通,其余关断。逆变电路的形式可以变为B相和C相并连后再和A相串连的形式,易得将其数值代入式(33),可得采用同样的方法可以得到如表31所示的逆变器空间电压矢量。表31逆变器的不同开关状态对应的空间矢量表相电压矢量表达式定子电压开关状态(Us大小为空间矢量A相B相C相0000000101001110010111100由于 SVPWM控制的是逆变器的开关状态,在实际分析逆变器一电动机系统时,可以通过分析逆变器输出的电压空间矢量来分析电机定子电压的空间矢量,下面给出证明。设逆变器输出的三相电压为、,由图3.2可求出加到电机定子上的相电压为(310)其中,为电机定子绕组星接时中点0相对于逆变器直流侧点的电位。电机定子电压空间矢量为(311)而由三角函数运算知++因此,逆变器输出的电压空间矢量为(312)由式(3.12)可知,在PWM逆变器一电动机系统中,对电机定子电压空间矢量的分析可以转化为对逆变器输出电压空间矢量的分析。这时,在求解表3.1时,可以直接利用逆变器输出的电压合成得到,即A,B,C三相输出电压值只有一和-—两个值。当逆变器输出某一电压空间矢量时,电机的磁链空间矢量可表示为y =y3.13)其中,W为初始磁链空间矢量;△为的作用时间。当为某一非零电压矢量时,磁链空间矢量y从初始位置出发,沿对应的电压空间矢量方向,以为半径进行旋转运动,当为一零电压矢量时,W=y,磁链空间矢量的运动受到抑制。因此合理地选择六个非零矢量的施加次序和作用时间,可使磁链空间矢量顺时针或逆时针旋转形成一定形状的磁链轨迹。在电机控制当中尽量使磁链轨迹逼近正多边形或圆形。同时,在两个非零矢量之间按照一定的原则,比如开关次数最少,插入一个或多个零矢量并合理选择零矢量的作用时间,就能调节ψ的运动速度。33SWPM的具体实现方法在实际应用中,应当利用 SVPWM自身的特点找到控制规律,避开复杂的数学在线运算,从而较为简单的实现开关控制,本节将给出实现 SVPWM的具体方法。根据3.2节中给出的不同开关状态组合可以得到如图33的电压空间矢量图C图3.3 SVPWM矢量、扇区图通常在矢量控制的系统当中,根据控制策略,进行适当的巫标变换,可以给出两相静止坐标系即(a,B)坐标系电压空间矢量的分量,g,这时就可以进行 SVPWM的控制,具体要做以下三部分的工作如何选择电压矢量。2.如何确定每个电压矢量作用的时间。3.确定每个电压矢量的作用顺序3.3.1电压空间矢量的空间位置这里需要引入扇区的概念,将整个平面分为六个扇区。如图3.3所示,每个扇区包含两个基本矢量,落在某个扇区的电压空间矢量将由扇区边界的两个基本电压空间矢量进行合成。在确定扇区时,引入三个决策变量A,B,C。根据给出的待合成的空间矢量的两个分量,p来决定A,B,C的取值,有以下关系式所在扇区的位置为当N取不同的值对应的扇区位置如图3.3所示,这样给定一个空间电压矢量就可以确定其所在的扇区。33.2电压空间矢量的合成扇区确定之后,就可以利用扇区边界上的两个基本矢量合成所需的矢量在合成过程中应当使得两个基本矢量的合成效果接近于期望矢量的效果。于是采用伏秒平衡的原则,以图3.3所示的第Ⅲ扇区为例,以a尸轴为基准,将两个基本矢量向aB轴上投影,应当有轴:=||+尸轴其中,为对应电压矢量作用的时间(=),为采样周期,通常为PW的调制周期。且|=||=-。求解上面两式可以得到这两个基本矢量的作用时间如式3.14(314)通过上面的方法即可以确定基本矢量的作用时间,当需要合成的矢量位于各个不同的扇区时都存在如上的运算。通过对每个扇区基本矢量动作时间的求解不难发现它们都是一些基本时间的组合。所以给出几个基本的时间变量x,Y,Z。定义√(315)通过计算可以得到在每个扇区内的基本矢量动作时间,(由于五段和七段式的实现方法不同,所以这里没有考虑矢量的动作顺序,仅按照逆时针方向)。设每个刷区的两个基本矢量动作的时间为于是可以得到矢量动作时间表3,2表3.2的对应关系表扇区ⅣV在实际的应用中当给定的电压值太大时会出现过调制的情况,即+>。此情况出现时,还要对上述计算出来的电压矢量的作用时间进行调整,具体方法如式3.16所示。(316)即为调整后的动作时间。在一个P啊M周期内除了非零电压矢量的作用,还要有零电压矢量的作用,零电压矢量包括对于这两个矢量的作用时间,以及开关的动作顺序,取决于采用的SPwM是五段式还是七段式,3.3节将对这两种PWM形式进行详细的介绍3.4 SVPWM的硬件实现和软件实现TI公司的TM320LF2407A系列的DSP内部有硬件来实现 SVPWM,由于每个PWM周期被分为五段,因此也被称为五段式的 SVPWM。在每个PWM调制周期内,开关状态有五种,且关于周期中心对称。而七段式的SvPM在每个PWM调制周期内有七种开关状态,需要运用软件进行实现,因此也被称为 SVPWM的软件实现。需要注意的是,无论哪种方法,所遵循的基本原则是开关动作次数最少,每个开关在一个周期内最多动作两次。3.4.1五段式 SVPWM对于五段式的 SVPWM,只在PMM周期的中间插入零矢量,具体采用哪一个由硬件根据旋转方向和开关动作次数最少的原则自行决定。例如在第Ⅲ扇区内,如果旋转方向为逆时针时针,则先动作,后动作以此类推,动作时间可以直接采用表3.2中的数据即可,然后选择零矢量(硬件决定)即可使开关次数最少。对于五段式PWM而言,零矢量作用的时间可以表示为:根据上述的配置原则,在每个扇区内开关动作的示意图如图34所示202ⅣV/1Ⅵ图34每个扇区内的开关动作示意图每个TMS320LF2407A的事件管理器EV模块都具有十分简化的电压空间矢量PWM波形产生的硬件电路。编程时只需进行如下的配置2●设置 ACTRX寄存器用来定义比较输出引脚的输出方式,决定高电平还是低电平有效,正反转,所在扇区等。●设置COMC0Nx寄存器来使能比较操作和空间矢量PWM方式,并且把 CMPRX的重装条件设置为下溢●将通用定时器1或2,4或5设置成连续增/诚计数模式,并启动定时器。然后给据在两相静止(a6)坐标系下输入到电机的电压空间矢量,分解为,确定如下的参数●所期望的矢量所在的扇区。根据 SVPWM的调制周期计算出两个基本的空间矢量和零矢量作用的时间
- 2020-12-06下载
- 积分:1