Author Archive

由于近期出现的几起电机霍尔传感器故障,造成电动座椅无法实现记忆和迎宾。因此在客户的召集下多方供应商进行一些技术上的探讨,通过与“联派”和“日电”两家电机厂商的交流得知,霍尔传感器的失效机理主要为三类:

Tuesday, January 10th, 2012 at 20:45 | 0 comments
Categories: 电子知识

考虑到在应用中会用到定时器作为输入信号的脉宽捕捉,以及PWM输出,我们重点关注了一下S12G系列MCU的定时器。其datasheet中第二十章为定时器的相关描述,但是其中只看到一个定时器,该定时器是一个16bit free-running counter。可被8通道的输入捕捉或输出比较使用。另外在datasheet的第十章中所提到的实时中断也可作为一个定时器来使用,一般咱们可以拿来作为系统的计时器用。虽然PWM模块中也有定时器但是不可作为独立的定时器使用,而且S12G系列MCU中的PWM模块不再有任何中断。

Sunday, January 8th, 2012 at 17:49 | 0 comments
Categories: 嵌入式

DTC是Diagnostic Trouble Code的缩写,中文意思是诊断故障码,它是汽车电子的专业术语。

DTC的设定一般是采用SAEJ2012标准,SAEJ2012中制定了标准的DTC。

DTC一般有四种,其表示方式一般采用五位(字符+数字)的方式,前面两位用来区分故障来自的控制系统,为系统代码。

Saturday, January 7th, 2012 at 21:58 | 0 comments
Categories: 嵌入式

Hex文件是可以烧录到MCU中,被MCU执行的一种文件格式。如果用记事本打开可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。Hex文件可以按照如下的方式进行拆分来分析其中的内容:

例如 “:1000080080318B1E0828092820280B1D0C280D2854”可以被看作“0×10 0×00 0×08 0×00 0×80 0×31 0x8B 0x1E 0×08 0×28 0×09 0×28 0×20 0×28 0x0B 0x1D 0x0C 0×28 0x0D 0×28 0×54”

Friday, January 6th, 2012 at 14:28 | 0 comments
Categories: 嵌入式

如今在汽车电子软件开发中常常涉及到在线升级,这样的应用中必将会使用Bootloader,一般Bootloader会独立于应用程序,如此则会生成独立的二进制文件。而应用程序也是一个独立的模块,同样也会生成独立的二进制文件。对于Freescale系列MCU则其对应的二进制文件为S19文件。

由于一个嵌入式产品中同时需要烧录两份独立的S19文件该如何实施呢,比较容易实现的便是先将Bootloader烧录至MCU中,然后用在线升级工具,在汽车电子应用中通常为诊断仪。显然,对批量生产来说这是不易被接受的。这就要求将Bootloader和应用程序同时烧录至MCU中,接下来我将介绍如何将两个独立的S19文件合并至一个S19文件中,并通过一次烧录将两个模块都烧录至MCU中。

Monday, January 2nd, 2012 at 21:28 | 0 comments
Categories: 嵌入式

首先在 项目->属性->链接->输入->附加依赖项 中加入需要调用的 xxx.lib。 然后将相应的xxx.h添加到项目中,在需要调用dll函数的文件中#include xxx.h 以后就可以直接调用dll中的函数了。 今天使用该方法调用 Freedesign 的CANApplication.dll中的函数,N次链接失败,最后发现是.lib文件的问题。 因为使用该方法调用 ZLGCAN 的ControlCAN.dll中的函数,一切正常。 Incoming search terms:vs2010 mfc dllvs2010 mfc dll静态vs2010 MFC引用DLLvs2010 引用lib文件

Monday, December 26th, 2011 at 20:51 | 0 comments
Categories: 编程

使用UJA1065过程中,需要对寄存器进行各种操作,你是否为配置各种参数,各种模式而计算每个寄存的值,以及寄存器的地址呢?起码我在使用过程中曾经深受其苦,如果对资料不熟悉,或是象我这样对E文不熟使用这款芯片应该不是那么快就能上手吧?这里给出一份NXP的UJA106x官方头文件,我想在编程时应该是一个很不错的帮助吧,这份头文件适用于“UJA1061”,“UJA1065”,“UJA1066”,“UJA1069”。代码如下,希望能过对需要的朋友有所帮助。

Monday, December 12th, 2011 at 22:57 | 0 comments
Categories: 编程

volatile 的意思是易变的、不稳定的。也许很多人根本没有见过这个关键字,或是不知道它的存在,或许有很多人知道它存在,但是从来没有使用过。其实我在做嵌入式程序以前也是不知道有这个么一个关键字的。

volatile关键字和const一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素改变,如操作系统、硬件或其他线程等。编译器在遇到访问这个关键字声明的变量的代码时就不再进行优化了,从而可以提供对特殊地址的稳定访问。

Tuesday, December 6th, 2011 at 12:43 | 1 comment
Categories: 编程

今天同事小王问我为何在对多通道ADC采样过程中前一通道的数据变化会对后一通道产生影响,这让我也变得很茫然。我在前面两个项目的应用并未出现这种情况,我所用的MCU为Freescale MC9S08DZ60,而他目前所用的是Freescale MC9S08AW16,但是大家都是9S08系列的,这样的外围接口一般都是相同,而且寄存器的定义也是差不多。 为了找出原因我们通过多次试验,查找是否有中断标志未被清除,并且延长相邻两通道的扫描间隔,依然不能奏效。至此只好将我那个项目中的代码找来和他的代码做比较,通过比较发现在ADC的输入频率方面设置不同,在出现问题的程序中采用的是总线频率作为时钟源(20MHz),分频系数为2,这样ADC的实际时钟达到10MHz。而我的那个代码中选择的是外部晶体时钟8MHz作为时钟源,分频系数为8,也就是ADC的实际时钟为1MHz。两者时钟相差10倍。将问题程序中的ADC实际时钟设置为1MHz后,原问题解决。 至此可以认为Freescale 9S08系列ADC采用高输入时钟时会对采样结果产生影响从而造成采样失真,所以在以后的应用中应避免使用较高的输入时钟。

Thursday, December 1st, 2011 at 17:22 | 1 comment
Categories: 嵌入式

七月在淘宝上买了个便宜的空间,用了38圆,真是便宜到家,速度也还可以,还支持ssh,一切都貌似很好,很快也就把wordpress给弄好了。 由于手上一个项目比较忙也就半个月都没有去博客看,偶尔一天闲下来想去看看,嘿嘿,竟然打不开网页了。联系卖家询问什么个情况,这位卖家态度也不错,就是服务器崩溃了,所有数据丢失了,不过可以给我新开一个空间。结果我又安装了一次Wordpress,捣鼓了一个晚上。时隔不久,差不多1个多月吧,又是崩溃了,不过这次可以拿回数据,答应可以再开一个新空间,态度没话说。想想还是算了吧,毕竟写博客也就是为了玩的,这样多折腾啊,我就不要这个空间了,或许哪天又会崩溃,还是找个靠谱的地方吧。 本打算在“爱写字”弄一个再绑上域名,试用用了几天感觉也还行,然而昨天进入后台发现左侧只有“控制板”和“资料”两个菜单了,别的东西全没了,迷茫了。看来托管也不太靠谱呀。 决定还是再买个空间,左选右选觉得还是WOPUS不错,希望这次不要再有什么意外了。

Thursday, December 1st, 2011 at 14:08 | 0 comments
Categories: 未分类
Tags:
Page 1 of 41234
TOP

无觅相关文章插件,快速提升流量