随笔分类 -  Experience

摘要:先说说上次流回来的芯片的测试情况。4月23日, 芯片采用裸片直接切片, bond在板子上,外面加了一个小塑料壳来保护,我们就直接拿回来测试了。测试的主要分为模拟和数字两部分, 数字部分的模块基本都工作正常, 模拟的芯片不一致性很成问题,一共就回来了两片芯片,可是模拟部分的参数不同,同时设置的寄存器给出的可调参数也起不到作用,很让人困惑。于是,查到了5月2日又有一次流片计划,于是急急忙忙的就开始准备了。很匆忙的, sky1301再次流出一版,其实有三个版本, v01主要就是模拟根据3月2日流出的芯片测试情况改变了模拟部分的一些电路,数字部分就是纠正了之前版本的一些问题,比如clear_fifo 阅读全文
posted @ 2012-05-03 18:55 poiu_elab 阅读(805) 评论(0) 推荐(0)
摘要:周一流的芯片就要回来了,基本的测试工作也做了好多,大概总结一下吧,也算是个留念首先,出现问题了最先考虑的一定是板级的外围电路是否正常工作了0. 连接线, 这个东西绝对是最基本的问题,但是往往一些同学会被这玩意坑的很深,不多说,一定要全部测量,不能省下任何一个连接线不去测量。1. 测量仪器,这个东西出了问题真的是要命的,比如用示波器测量的时候就一定要关注探头是否是好的,是否接错了通道,是否幅值调整的有问题,是否触发源设置的有问题,是否因信号过快结果没法采样到待观测信号。而万用表如果只是测量通断的时候还好说,用来测量真正的电压的时候也不要以为万用表就不会坏,有可能没有坏,但是可能出现测量值不准确的 阅读全文
posted @ 2012-04-21 22:35 poiu_elab 阅读(533) 评论(0) 推荐(0)
摘要:基本上处理的都是软件方面的事宜,由于MSP430 5519造价太高,于是有了平台移植的一个工作,移植到430 5418上面,于是就把所有的底层函数重新写了一遍,截止到昨天总算是完成了,其实里面的学问还是蛮多的,由于是临时的现场飞线的板子,晶振十分的不稳定,所以程序时而跑飞,时而跑飞的。而且平台不稳定的问题基本解决,主要影响的因素还是时钟线的问题,不知道是时钟插座不好,还是时钟线不好,反正是在G21的时钟pin上会出问题,重新分配到J21上面就没有问题了。板级的问题还是挺值得关注的,不稳定的平台会让你欲生欲死的。接着周末的SKY1301的芯片就能回来,就要进行测试了,这个东西还是挺让人担心的,最 阅读全文
posted @ 2012-04-18 09:22 poiu_elab 阅读(223) 评论(0) 推荐(0)
摘要:接受上级指示,写了一些之前sky1301的软件为接下来的测试做准备,结果就发现恢复之前的平台出了问题。总的来说,弄坏了两个串口,两个430, 感觉还挺不结实的~这周把我之前准备写的UART终于算是写完了测试完了,还挺辛苦的。因为具体到应用的细节有很多的东西都需要想清楚,就很耽搁时间了。寄存器就是最基本的REG_BUS,倒是也方便往别的总线上面移植。总体来说还是写了不少东西,感悟嘛也是有一点,比如状态机在嵌套的时候应该怎么做,大体我的方式都是用个类似握手那样的信号来处理,比如母状态机在跳转子状态机的时候给个start,之后子状态机想要跳回的时候给个done信号,最好不要在一个模块里面弄多个时钟域 阅读全文
posted @ 2012-04-06 21:27 poiu_elab 阅读(228) 评论(0) 推荐(0)
摘要:NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。相“flash存储器”经常可以与相“NOR存储器”互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想 阅读全文
posted @ 2012-04-04 09:26 poiu_elab 阅读(437) 评论(0) 推荐(0)
摘要:在硬件系统出厂前要进行产品测试;在嵌入式系统工作之前,一般也要进行自检,其中ROM和RAM检测必不可少,可是有不少人对于测试目的、原因和方法存在错误理解。为 什么要测试ROM和RAM,怎么测试呢?普遍的看法是:由于担心ROM和RAM芯片损坏,在出厂和使用前应该校验这两种芯片的好坏。测试RAM的方法是写 读各个内存单元,检查是否能够正确写入;测试ROM的方法是累加各存储单元数值并与校验和比较。这种认识不能说错,但有些肤浅,照此编出的测试程序不完 备。一般来说,ROM和RAM芯片本身不大会被损坏,用到次品的概率也比较小,真正出问题的,大都是其他硬件部分,因此,测试ROM和RAM往往是醉翁之 意不在 阅读全文
posted @ 2012-04-04 09:14 poiu_elab 阅读(1516) 评论(0) 推荐(1)
摘要:豪斯医生里面这女子真是感觉越来越好看了,唉~白天一直在写代码,感觉自己非常2B,选择了一个非常臃肿容易出错的方式来完成一个本来很容易的问题。那就是用状态机嵌套,大的状态机来操作整个模块的动作是没有错误的,但是完全不用搞一大堆别的什么状态机来嵌套进来只为了完成一些时序上面的生成波形,简直笨透了。不过大概了解了状态机嵌套的写法,基本思路就是用一个母状态机信号来激发子状态机跳转,同时母状态机停在这个状态等待子状态机的一个返回结果来继续进行母状态机的正常运转,八过比较容易的步骤还是用一些很容易的组合逻辑和时序电路就能实现了,就别乱搞了,不然真是看起来又臭又长。结果晚上已经不想再看到自己写的2bveri 阅读全文
posted @ 2012-03-29 22:27 poiu_elab 阅读(236) 评论(0) 推荐(0)
摘要:总体来说这周没干啥正事,测测这测测那,高速率的基本搞定了,没啥特别的,主要是接收的时候采用了BPSK的方式接收,接着要做TypeB的,不一定能搞定,打算起始我来弄,先好好弄清楚协议再说,5月份的流片真的不一定能赶得上,做一步算一步。一个想法,等有了功夫,也就是现在的这个sky1301的项目搞定了之后,老板不一定会再让我们接着做arm7_reader的项目,如果不做的话没准会闲着点,那样的话呢那我就好好看看perl,等到perl的第一本小羊驼搞定了,看如果有需求就弄大羊驼,或者是继续搞一下其他接口,当然各种接口自己一定要慢慢写的,其实处理起时序问题还真的不是很能搞定的。写接口的程序在这方面有很大 阅读全文
posted @ 2012-03-23 21:23 poiu_elab 阅读(236) 评论(0) 推荐(0)
摘要:首先定义自己要支持的功能,用寄存器来配置再加上读写的两个FIFO。打算支持的功能有可选的数据位数,支持速率从1200 到115200,包括了1200,2400,4800,9600,14400,19200,38400,57600,115200这里的波特率和bit/s其实没啥区别,所以峰值速率也就是10K左右(因为要考虑开始,截止和校验位)支持7bit or 8bit,支持校验位有odd or even or no, 支持停止位1 or 1.5 or 2对了,还要加上tx和rx的完成中断大概就这么多,再加上收发两个8byte的FIFO,基本就是这样,从头做起 阅读全文
posted @ 2012-03-21 21:57 poiu_elab 阅读(241) 评论(0) 推荐(0)
摘要:一周多的时间,新的任务基本告一段落了,其实我也没干什么,缺少的I2C的东西零零碎碎的凑了上去,在原来的基础上加上了结果不好用,不知道为什么,重新又挂了一次就好使了,之后用了系统组的一块板子来验证I2C通讯,确实没问题,单读单写,连读连写都没问题,就算是过了,一星期啊,各种2B问题唉,反正是糊里糊涂的就好了。接着DR写的DMA模块和时序转换的模块,我写了一个DUMMY的FIFO来像要用的USB2.0芯片上面的那个一样来模拟一个写入的过程,这周一开始弄弄到今天是弄好了,大概花了一天的时间来理解时序问题,一天多的时间来把memory挂载BUS上面来弄,其实要是昨天不上课,下午上政治,晚上上英语,如果 阅读全文
posted @ 2012-03-14 17:29 poiu_elab 阅读(248) 评论(0) 推荐(0)
摘要:新的任务开始,帮助北航王老师做他们的FPGA的项目,感觉王老师不是很懂的样子,之前一直让系统组帮忙做,添加上了更大尺寸的sram,eflash,rom和watch dog, rtc, 现在要加上DMA和I2C,他们的FPGA板子上面有现成的USB 2.0的MAC与PHY一起的芯片,所以就要弄个DMA来从大尺寸的SRAM把数据经USB搬移出去。我今天先做I2C,把刘朝没完成的部分做完吧,接下来做什么就走一步看一步了 阅读全文
posted @ 2012-03-05 22:50 poiu_elab 阅读(200) 评论(0) 推荐(0)
摘要:自verilog coding style from belab1.portiability最基本的就是用`ifdef,还有要用相对路径不要用绝对路径,别人的IP尤其是memory用的时候打上一个wrapper,里面放上自己需要的功能比如bist和scan 什么的。2.modularity & partitioning比如top里面应该只有模块相连的关系,而不要有logic;datapath和Control logic应该分离在不同的module里面,data path是timing-optimized而Control logic是area-optimized。在datapath里面应 阅读全文
posted @ 2012-03-01 11:36 poiu_elab 阅读(659) 评论(0) 推荐(0)
摘要:在家期间除了有猴哥的一个项目要帮忙看看外,对于自己来说最重要的是要看书,学习下CPU的结构,跟着例程写个CPU出来,学习的过程中还是有很多心得体会可以说说的。比如今天我只看了第一章就有很多的收获了,比如下面这句话“在计算机领域里,单位是不同的,当表示时钟频率或时钟周期时,用10的多少次方,当表示存储器的容量时,用2的多少次方”。多线程和多核的CPU也是不同的,多线程CPU共享了instuction cache 和data cache,而多核的CPU则是不共享的。x86系统的体系结构是CISC(complex instruction set computer)的,而发展趋势是RISC(reduc 阅读全文
posted @ 2012-01-18 12:11 poiu_elab 阅读(197) 评论(0) 推荐(0)
摘要:放假回家,第一件事就是搭建方针环境,既然爱上了linux,那就需要把linux进行到底,决定安装双系统,先在我的laptop上面试好了,再在台式机上面安装,在我的laptop上面,决定重新分区,给linux10G的空间,重新划分partition,很快的就把windows装好了,xp的,之后花了一个晚上的时间把linux,用的是CentOS的系统,需要用大概4G的空间,发现分区出了问题,至今也没有解决,由于用的是Partition Magic分区的,分好了的剩余未分区的空间是在未使用的空间上面,而在装台式机的时候这个没有分区的空间是在windows的逻辑分区上面的,laptop上面于是就只能要 阅读全文
posted @ 2012-01-18 11:26 poiu_elab 阅读(289) 评论(0) 推荐(0)
摘要:在做sky1301的过程中,由于跨时钟域的问题,许多平常的单时钟域碰不到的问题都蹦了出来,包括从外面给进时钟的SCK稳定和毛刺问题,内部跨时钟域采样的问题,可笑的示波器探头问题,同步时钟真的有很大的学问可以做,这个项目主要是由于在没有时钟的情况下,需要用SCK给进的时钟,直接用给进的时钟进行寄存器的读写,而不是用远高于SCK的系统时钟进行采样进行寄存器的读写,这里有不小的麻烦。包括毛刺的影响,FPGA分配时钟引脚的问题。接下来,对于HOST,现在有3个可以使用的HOST,包括PC上并口转SPI的converter,USB-SPI coverter,还有MSP430.并口的converter给出 阅读全文
posted @ 2012-01-13 10:08 poiu_elab 阅读(209) 评论(0) 推荐(0)