看门狗在时间计算上的应用

时间:2024.5.2

ARM内核目标系统中的代码运行时间测试

发表于 20xx-4-8 23:12:59

在ARM系统中,有时需要精确的时间测量。通常,取时间的C函数(如gettime()等)不仅通用性差(必须包含头文件DOS.H,且不支持Unix、Linux和标准C),明显不适用于ARM系统[1];更成问题的是,其最短时间只能到10-2 秒级,不能提供更短的时间分度。根本原因在于: 这类函数是基于系统实时时钟(RTC)的,而RTC通常采用标准化钟表晶振,频率只有32.768 kHz而已[2]。

然而很多应用涉及μs级的时间计量,这是标准化了的RTC以及基于它的时间函数所无能为力的。笔者在移植DES算法到ARM系统的实验过程中,便遇到过要定量评估加密算法耗时多少的问题,发现的确不能用上述常规的C函数解决。经对ARM芯片结构的考察,发现其内置的WatchDog系统是以系统时钟驱动的,定量性能应该很好,区分时间间隔的精细程度也应该足够。于是根据所用ARM芯片的原厂家数据手册中的说明,借用 WatchDog编写了自己的计时函数,使用起来也比较方便。考虑到ARM芯片都带有内置看门狗,笔者觉得这种方法可算是一个不错的“过渡性”解决方案,故在此加以介绍,供同行们参考并指正。 1 测量原理

ARM芯片中的看门狗,其原始功能是监视CPU核心运行的某些超时。这些超时的发生,通常是因为干扰和系统错误等造成的程序运行混乱。一旦发生这类情形,看门狗便请求中断服务或发出复位脉冲重启系统。为了达到这样的目的,其计时原理必须独立于系统中的任何进程。实际上,WatchDog是独立的硬件逻辑,其计时脉冲直接取自系统主时钟,因此它与RTC一样具备实时性和独立性,借用看门狗的计时体系来实现高精度时间测量是合理的。 先以实验中用到的S3C44B0X为例(该实验所用的ARM开发板型号为NETARM300),具体谈谈看门狗的工作原理。其原理框图如图1所示,图中MCLK即系统主时钟[3]。

图1 S3C44B0X内嵌看门狗硬件原理框图

从图中可以看出,系统主时钟MCLK经过可编程预分频、可选固定分频后,进入WTCNT(硬件系统的计时计数器,16位)计数。根据器件手册,计数时间间隔t_watchdog=1/(MCLK/(Prescaler value+1)/Division_factor )。式中,参数Prescaler value的取值为0~28-1;Division_factor有16、32、64、128四种取值。如果复位信号输出允许(即WTCON的位0置1),那么一旦计数器WTCNT的计数超过WTDAT允许的范围,

看门狗就会将CPU复位。本实验过程中屏蔽掉了这种复位和中断请求功能,仅让它对脉冲计数。

控制寄存器WTCON的有关各位定义图中已给出(如需详细解释可查阅器件手册,如参考文献[3]),其他全为保留位,可全置为0。

至于MCLK具体值的计算,可以查验系统中的晶振参数(频率),读取系统时钟的PLL寄存器(如S3C44B0X的PLLCON)后算得。计算的方法都已在具体ARM芯片手册中给出

[4]。

2 测量算法实现和实验结果

按照所需参数设置的看门狗定时器控制寄存器WTCON的值(如前所述),在待测代码段执行之前开启看门狗定时器;等其执行完毕则关闭看门狗定时器,读取WTCNT的值即可算得运行时间。作为一个具体示例,笔者实验中所实现的算法如下:

(1) 计时算法

void my_CountStart() {

rWTCON=((MCLK/1000000-1)<<8)|(2<<3); //1 MHz/64,Watchdog,nRESET,中断禁止

rWTDAT=0xffff;

rWTCNT=0xffff;

rWTCON=((MCLK/1000000-1)<<8)|(2<<3)|(1<<5); //计时开始

}

int my_CountStop() {

int i="0";

rWTCON=((MCLK/1000000-1)<<8)|(2<<3); //计时结束

i=0xffff-rWTCNT;//每16 μs计数一次

return i*16;

}

(2) 应用

int Main() {

my_CountStart();

Des_Go(buf, buf, sizeof(str), key, sizeof(key), ENCRYPT, Is3DES);

encrypt_time=my_CountStop();

}

需要指出: 在改变WTCON的值之前应将原有值保存,待测量完成后再复原WTCON。之所以强调这一点,是因为系统别处很可能在使用看门狗功能。

实验当中,对长度为189字节的字符串采用3次DES加密。密钥长度为15位,测得的加密时间为28 832 μs,解密时间为28 896 μs。缩短字符串长度,测得的加密时间基本呈线性变化: 字符串长度为107字节而其他地方不变时,加密耗时16 928 μs,解密耗时16 948 μs;字符串长度为41字节而其他地方不变时,加密耗时7 424 μs,解密耗时7 424 μs。对于相同长度的字符串,密钥长度的改变对加密/解密时间的影响不是很大。

值得一提的是,刚开始实验时,被加密字符串分别取为190字节和75字节,测得耗时分别是34 032 μs和16 928 μs,显然与倍增的关系相差很远。分析程序后发现,原来问题出在加密算法中间的打印语句“Uart_Printf("\ncounting begin...!!!")”上。原来以为它耗时很少,故没有将它从加密算法中移走;移走后再试,耗时大减,分别为29 600 μs和12 496 μs,与字符数倍增、时间倍增的预期基本相符。上面的实验,还使笔者得知该打印语句占用了4 432 μs。稍微修改条件,继续实验: 当上述打印语句的字节数扩充为原来的4倍时,测得该语句耗时17 728 μs。可见,耗时与打印内容的字节数基本上成正比;另外,这种打印语句与加密/解密算法本身相比,并不是想当然地只占用一点点时间。(上述数据与PC机串口通信波特率的设置无明显关系。实际测试结果为: 波特率由115 200 bps下降到57 600 bps,没有可以察觉到的差别。)

3 测量方法讨论

ARM内置看门狗用作时间度量的适用范围,大体以μs数量级为界。比如,从S3C44B0X的器件特性说明中可知,MCLK在看门狗计时器里的分频比至少是1/16。典型情况下,MCLK=60 MHz,则看门狗能够分辨的最短时间单元t=1/(60 MHz/16)=0.27 μs。统计误差约为t/2,即0.1μs数量级。就μs级的时间测量精度而言,相对误差有可能达到1%~10%;不过,这对很多速度估算的场合来说还是可以接受的。如果被测时间在10 μs以上,那就没有任何问题,可以认为是相当精确的了。

这种思路还可用来实现精确延时,因为它的定时不依赖于指令执行时间(指令执行要受到系统调度等的影响,因而有很多不确定因素),而取决于对主时钟的硬件分频计数。

由此实验推广,ARM内置看门狗可以作为此类系统中的第二时钟存在。对于那些时间要求精确到μs、RTC的精度无法满足的应用,这种处理都不失为一种准确、高效的方法。 参考文献

[1] 李文通,刘天放,毕卫明,等. Borland C++ 3.1库函数手册[M]. 北京:北京航空航天大学出版社,1994.

[2] 李岩,荣盘祥. 基于S3C44B0X嵌入式μCLinux系统原理及应用[M]. 北京:清华大学出版社,20xx.

[3] Samsung Electronics. S3C44B0X RISC MICROPROCESSEOR WATCHDOG TIMER[M/CD].http://www.meritech.co.kr/eng/products/product_view.php?num=5.

[4] Samsung Electronics. S3C44B0X RISC MICROPROCESSEOR CLOCK & POWER MANAGEMENT[M/CD].http://www.meritech.co.kr/eng/products/product_view.php?num=5.


第二篇:B超在奶牛繁殖上的应用


B超在奶牛繁殖上的应用

生命科学学院 动物医学专业

20xx082525 林雅琳 指导老师 陈星星

【摘 要】 随着畜牧业的发展,各种诊断技术不断地投入使用。其中,B超具有快捷、简便、准确率高等优点等优点,在奶牛的发情鉴定、妊娠诊断、繁殖疾病的检查等方面得到了广泛的应用。B超对病变组织以实时图像显示,是兽医临床上一种比较先进的诊断技术。

【关键词】 B超,奶牛,繁殖

1 B超工作原理

人们把耳朵听不到的高频声波(2~10 兆赫)称为超声波,并创立了利用超声波的物理特性进行诊断和治疗的影像学科,称为超声医学。我国在 20 世纪 xx年代把这项医学技术应用于兽医诊断领域,兽医超声分为 A 型、B 型、D 型和 M型,其中现在最为常用的就是 B 型超声检查。B 超的检查原理主要是利用换能器(探头)经压电效应发射出发出多束高频超声波透入各组织和脏器断面上探测并产生回声,回声又能被换能器接收变成高频电信号后传送给主机。经放大处理显示在屏上显现出被探查部位的切面图像,图像上有明暗不同的光点。液体吸收声波,显示屏上呈黑色,致密组织反射回大部分声波,显示屏上呈白色。 2 操作方法

B超扫描法在奶牛中的应用包括体外探查法、阴道探查法和直肠探查法,其中最为适合奶牛检查的就是直肠探查法。先保定奶牛,使其排出宿粪后,用润滑剂润滑探头。操作人员站立在母牛的正后方,打开主机并用左手固定,同时右手持探头深入直肠,先找到母牛生殖器官的大概位置,把探头紧贴在生殖器官的上方进行探查。在检查的过程当中,环境的光照应适度,如光过强应用布罩住显示屏以产生有效的灰影效果。

3 B超卵巢检测

3.1 卵巢正常声像图

卵巢以较厚的卵巢系膜悬吊于腰部,位于骨盆腔前口的两侧,在子宫角末端的上方,经产母牛的卵巢常常稍坠于前下方[5]。正常牛的卵巢外,形呈扁卵圆形,边界清晰,略凹凸不平。其内部为实性均质回声,回声略高于子宫,卵巢直径 2cm~4cm不等,宽约 1cm~2cm,与周围组织界限明显,卵巢内可以观察到一个或数个大小不一的发育卵泡,B超图像显示为低回声的液性暗区,直径在2mm~15mm之间,大小取决于卵泡的发育阶段。 成年母牛的卵泡群中有两种卵泡,一种是生长发育中的少量卵泡,另一种是作为储备的大量原始卵泡,从原始卵泡发育成能够排卵的成熟卵泡,要经历一个复杂的过程。根据卵泡的生长阶段不同,可以将卵泡划分为原始卵泡、初级卵泡、次级卵泡、三级卵泡及成熟卵泡。B超显示卵泡呈黑色的液性暗区,卵泡呈圆形,卵泡壁呈强回声,边界清晰、光滑,卵巢的回声强于卵泡即卵巢在B超上显示灰色,卵泡呈黑色。

3.2 卵泡囊肿声像图

卵泡囊肿声像图特征:卵泡囊肿病牛B超结果显示卵巢体积增大,囊肿卵泡呈无回声液性暗区,卵泡直径大于正常排卵卵泡直径,卵泡内部为一圆形无回声液性暗区,卵泡壁较薄,边界整齐而光滑。

3.3黄体囊肿声像图

病牛左侧卵巢增大,边缘不整齐,卵巢中央有一较大、圆形液性无回声暗区,其壁较厚,界限清晰,表现为强回声光带。黄体囊肿牛的B超影像图观察结果显示,黄体囊肿略突出于卵巢表面,表面回声光滑,囊内出现液体暗区,壁厚、黄体囊肿影像边缘光滑有清晰的轮廓,内部可见棉纱样回声或形态不规则的光团,内壁不光滑,出现低淡光点。对患牛间隔 7d~14d,用B超复检的结果显示,囊肿位置及结构几乎没有变化,尺寸大小没有改变。

3.4 其他卵巢疾病

牛建荣等认为,B超应用于诊断奶牛卵巢性疾病仅限于卵巢囊肿。FrickePM在B超应用于奶牛繁殖的报道中也仅论述了B超能诊断有腔黄体和卵巢囊肿。卵巢机能不全、卵巢炎等病例的卵巢病变也可通过B超进行区分。幼稚型卵巢体积较小,内部为均匀的低强度回声,卵巢上常不见卵泡或黄体发育;静止卵巢大小和质地一般都较正常,卵巢内无卵泡,或有少数小卵泡存在,无黄体结构;萎缩卵巢一般较正 常卵巢体积小,卵巢内呈中高强度回声 ,无卵泡或黄体结构存在。发生炎症的卵巢体积正常或稍增大,与周围组织界限不明显,卵巢内可见许多强回声光点或光斑,一般无卵泡或黄体发育[q。持久黄体的超声形态学特征主要表现为卵巢内可见数量不等的黄体存在,直径与正常黄体相当,声像图显示与周围组织分界清晰,黄体中央回声极弱,呈现均匀的液性暗区。且间隔5d~7d复查,可发现黄体持续存在。

4 发情鉴定

牛卵巢的形态为扁的卵圆形,拇指肚大小,附着在卵巢系膜上,其附着缘上有卵巢门,超声图像显示边界清晰,其内部为实性均质回声,回声略高于子宫,与周围组织界限明显。卵巢内可以观察到 1 个或数个大小不一的发育卵泡,B超图像显示为低回声的液性暗区,直径在 2~15 毫米,大小取决于卵泡的发育阶段。根据卵泡的生长阶段不同,可以将卵泡划分为原始卵泡、初级卵泡、次级卵泡、三级卵泡及成熟卵泡。当卵泡发育达到成熟卵泡时,

B 超显示卵泡呈黑色的液性暗区,卵泡呈圆形,卵泡壁呈强回声,边界清晰、光滑。此时卵泡的直径大约在10~15毫米,这时可以确定为输精的最佳时间。

5 早期妊娠诊断

早期的妊娠诊断对奶牛有重要的意义,可减少空怀提高奶牛的繁殖力和生产力。传统的奶牛妊娠诊断一般为直肠检查法,其准确性依个人的经验而异,主观性较强,初学者不易掌握,且在妊娠早期容易伤害胚胎,引起流产。应用掌上B超仪对奶牛进行早期妊娠诊断,操作方法简单,准确率高,既能直观地在屏幕上显示妊娠特征,又能缩短配种后的待检时间。空怀B 超图像显示子宫体呈实质均质结构,轮廓清晰,内部呈均匀的等强度回声,子宫壁很薄。而妊娠奶牛的子宫壁增厚,配种后12~14 天子宫腔内出现不连续无反射小区,即为聚有液体的胚泡。以后胚泡逐渐增大,至 20 天时,胚泡结构中出现短直线状的胚体。22 天时,可探测到胚体心跳。22~30 天时,胚体呈C 形。33~36 天,可清晰的显示出胚囊和胚斑图像。33天时,胚囊实物1 指大小,胚斑实物 1/3 指大小。声像图中子宫壁结构完整,

边界清晰,胚囊液性暗区大而明显,液性暗区内不同的部位多见胚斑,胚斑为中低灰度回声,边界清晰。妊娠30~40 天时,B 超诊断的主要依据是声像图中见到胚囊或同时见到胚囊和胚斑。

6 性别鉴定

在配种 55~70 天后,可以对犊牛进行性别鉴定。用手握住B 超探头伸入母牛直肠,在妊娠的子宫角进行扫描。此时可轻易地见到羊水和子叶的回声,这时需要探头轻柔地缓慢移动,可见到胎儿的局部回声,通过回声的影像和动态的超声跟踪可确定胎儿的体位走向。根据已知的胎儿体位走向,探头轻微移动向胎儿尾部方向,如脐带正后方见到强回声光团或光斑(此为雄性生殖结节,此生殖结节将发育成公畜的阴茎)则胎儿为公,如脐带正后方无强回声光团或光斑,则胎儿为母。

7 总结

7.1 卵巢囊肿的声像图特点

卵泡囊肿暗区直径明显大于成熟卵泡,泡壁光滑,反射性强;黄体囊肿中间也为大暗区,但是中间有不光滑的黄体组织,厚薄依黄体组织的多少而定,回声不强;囊肿性黄体(有腔黄体)中间暗区较前两种小,有排卵凹陷,黄体组织多,低回声区域较大[2]。

7.2 探头的选择

目前国内进行B超检查时多采用5MHz的线阵直肠探头,5MHz的线阵直肠探头可以同时满足B超直肠检查时对超声分辨力和穿透力的要求,而且图像清晰、直观。

7.3 注意问题

B超诊断虽然可以比较直观的观察卵巢形态的变化,但是不能将其作为诊断卵巢疾病的惟一标准。使用B超观察卵巢变化和诊断卵巢疾病,需要临床经验的积累和对B超影象细节的捕捉和观察。另外,还必须结合疾病史、临床症状、饲养管理情况或者其他实验室诊断方法等进行综合判断。

7.4发展前景

B超诊断是一种无 放射性危害、无损伤的活体诊断方法 ,B超的临床应用,使诊 断技术进入了影像学诊断的新阶段,它能断层扫描探查组织的内部结构,对动物无损伤,而且能连续使用,实时快速做出诊断,大大提高兽医临床诊断水平。国内报道,超声检查与血液激素诊断奶牛黄体囊肿与卵泡囊肿时,超声检查黄体囊肿 的准确率为92.6%,而血液测定孕酮诊断的准确率仅为 7O%~8O%[9]。国内兽医超声起步较晚,但是在兽 医影像工作者的多年努力下,已经取得了可喜的进展,积累了较多的资料,随着科技进步,B超仪器的普及,B超诊断技术在兽医临床广泛应用的时代在不久的将来就会实现。

更多相关推荐:
《计算机应用基础》教学计划

计算机应用基础教学计划一课程的性质与任务本课程是职专专业学生应掌握的一门基础课程其主要任务是使学生掌握必需的计算机基本知识能熟练地使用计算机进行学习是学习其它课程基础通过本课程的学习必须使学生达到熟练地利用计算...

计算机应用基础教学计划(中职)

计算机应用基础教学工作计划20xx20xx学年度第一学期一课程的目标和任务计算机应用基础是计算机专业学生一门必修的计算机基础课也是以后计算机专业其他课程的入门课开设本课程的目的是使学生通过本课程的学习理解计算机...

计算机应用专业教学计划定稿

张北县职教中心计算机应用专业教学计划专业计算机及应用学制三年适用对象职业高中中专1一制定依据1国家省级有关文件教育部中等职业学校重点建设专业教学指导方案教育部关于在职业学校进行学分制试点工作的原则意见教育部关于...

计算机应用基础教学计划

计算机应用基础教学工作计划南充外国语学校邓兴发一课程的目标和任务计算机应用基础是计算机专业学生一门必修的计算机基础课也是以后计算机专业其他课程的入门课开设本课程的目的是使学生通过本课程的学习理解计算机的基本概念...

计算机应用技术专业教学计划

计算机应用技术专业教学计划一专业的社会需求调研分析计算机应用技术面向井喷式发展且内容实时刷新的高技术产业这种高新技术产业以人才的要求具有很强的时代感从业人员不仅具有较强的理论基础还应熟练掌握操作技术与技能具有解...

计算机应用基础教学计划

计算机应用基础教学计划段勇一课程简介本课程是中等职业学校计算机专业的一门主干专业课程本课程系统地介绍了计算机基础知识WindowsXP操作系统汉字输入法文字处理软件Word20xx电子表格软件Excel20xx...

中职计算机应用基础教学计划

计算机应用基础教学计划作为中等职业技术教育的学生都应该了解计算机掌握计算机的各种常规操作并能应用于各行各业本学期我任教中职一年级计算机应用基础课程教学为了更好地完成本学期的教学任务特将教学计划安排如下一课程的性...

计算机应用基础教学计划(中职)

计算机应用基础教学工作计划20xx20xx学年度第一学期一课程的目标和任务计算机应用基础是计算机专业学生一门必修的计算机基础课也是以后计算机专业其他课程的入门课开设本课程的目的是使学生通过本课程的学习理解计算机...

中职计算机应用基础教学计划

《计算机应用基础》教学计划康县职业技术学校李*本学期我仍任教职一(四)班的计算机应用基础课程教学,为了更好地完成本学期的教学任务,将教学计划安排如下:一、课程的目标和任务《计算机应用基础》是计算机专业学生一门必…

中职计算机应用基础教学计划

计算机应用基础教学计划刘源本学期我仍任教14计算机班和13电子电工应用基础课程教学为了更好地完成本学期的教学任务将教学计划安排如下一课程的目标和任务计算机应用基础是计算机专业学生一门必修的计算机基础课也是以后计...

中职《计算机应用基础》教学计划

计算机应用基础教学工作计划姓名一课程性质与任务计算机应用基础课程是中等职业学校学生必修的一门公共基础课本课程的任务是使学生掌握必备的计算机应用基础知识和基本技能培养学生应用计算机解决工作与生活中实际问题的能力使...

中职计算机应用基础教学计划

一课程的性质和教学目标计算机应用基础课是中等职业学校的一门基础技能操作课程在本学期中主要任务是掌握计算机基础知识具有熟练的汉字输入能力掌握Windows操作系统重点掌握Word文字处理软件具有一定的文字排版能力...

计算机应用教学计划(41篇)