、AHB系統(tǒng)總線分為APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速設(shè)備
2、Stm32f10x.h相當(dāng)于reg52.h(里面有基本的位操作定義),另一個(gè)為stm32f10x_conf.h專門控制外圍器件的配置,也就是開關(guān)頭文件的作用
3、 HSE Osc(High Speed External Oscillator)高速外部晶振,一般為8MHz,HSI RC(High Speed InternalRC)高速內(nèi)部RC,8MHz
4、 LSE Osc(Low Speed External Oscillator)低速外部晶振,一般為32.768KHz,LSI RC(Low Speed InternalRC)低速內(nèi)部晶振,大概為40KHz左右,提供看門狗時(shí)鐘和自動(dòng)喚醒單元時(shí)鐘源
5、 SYSCLK時(shí)鐘源有三個(gè)來源:HSI RC、HSE OSC、PLL
6、 MCO[2:0]可以提供4源不同的時(shí)鐘同步信號(hào),PA8
7、 GPIO口貌似有兩個(gè)反向串聯(lián)的二極管用作鉗位二極管。
8、 總線矩陣采用輪換算法對(duì)系統(tǒng)總線和DMA進(jìn)行仲裁
9、 ICode總線,DCode總線、系統(tǒng)總線、DMA總線、總線矩陣、AHB/APB橋
10、在使用一個(gè)外設(shè)之前,必須設(shè)置寄存器RCC_AHBENR來打開該外設(shè)的時(shí)鐘
11、數(shù)據(jù)字節(jié)以小端存儲(chǔ)形式保存在存儲(chǔ)器中
12、 內(nèi)存映射區(qū)分為8個(gè)大塊,每個(gè)塊為512MB
13、 FLASH的一頁為1K(小容量和中容量),大容量是2K。
14、 系統(tǒng)存儲(chǔ)區(qū)(SystemMemory)為ST公司出廠配置鎖死,用戶無法編輯,用于對(duì)FLASH區(qū)域進(jìn)行重新編程。所以我們燒寫程序務(wù)必選擇BOOT1 = 0,這樣通過內(nèi)嵌的自舉程序?qū)LASH進(jìn)行燒寫,比如中斷向量表和代碼
15、 STM32核心電壓為1.8V
16、 STM32復(fù)位有三種:系統(tǒng)復(fù)位、上電復(fù)位、備份區(qū)域復(fù)位。其中系統(tǒng)復(fù)位除了RCC_CSR中的復(fù)位標(biāo)志和BKP中的數(shù)值不復(fù)位之外,其他的所有寄存器全部復(fù)位。觸發(fā)方式例如外部復(fù)位、看門狗復(fù)位、軟件復(fù)位等;電源復(fù)位由于外部電源的上電/掉電復(fù)位或者待機(jī)模式返回。復(fù)位除了BKP中的寄存器值不動(dòng),其他全部復(fù)位;備份區(qū)域復(fù)位的觸發(fā)源為軟件復(fù)位或者VDD和VBAT全部掉電時(shí)。
17、 單片機(jī)復(fù)位后所有I/O口均為浮空輸入狀態(tài)
18、 68個(gè)可屏蔽中斷通道,16個(gè)可編程優(yōu)先級(jí),16個(gè)內(nèi)核中斷,一共68+16=84個(gè)中斷。103系列只有60個(gè)中斷,107系列才有68個(gè)中斷
19、 系統(tǒng)啟動(dòng)從0x00000004開始,0x000 0000保留
20、 (NestedVectored Interrupt Controller)NVIC嵌套向量中斷控制器,分為兩種:搶先式優(yōu)先級(jí)(可嵌套)和中斷優(yōu)先級(jí)(副優(yōu)先級(jí),不能嵌套)。兩種優(yōu)先級(jí)由4位二進(jìn)制位決定。分配下來有十六種情況:
21、0號(hào)搶先優(yōu)先級(jí)的中斷,可以打斷任何中斷搶先優(yōu)先級(jí)為非0號(hào)的中斷;1號(hào)搶先優(yōu)先級(jí)的中斷,可以打斷任何中斷搶先優(yōu)先級(jí)為2、3、4號(hào)的中斷;……;構(gòu)成中斷嵌套。如果兩個(gè)中斷的搶先優(yōu)先級(jí)相同,誰先出現(xiàn),就先響應(yīng)誰,不構(gòu)成嵌套。如果一起出現(xiàn)(或掛在那里等待),就看它們2個(gè)誰的子優(yōu)先級(jí)高了,如果子優(yōu)先級(jí)也相同,就看它們的中斷向量位置了。原來中斷向量的位置是最后的決定因素!!!!
22、 上電初始化后AIRC初始化為0,為16個(gè)搶先式優(yōu)先級(jí),但是由于所有的外部通道中斷優(yōu)先級(jí)控制字PRI_n為0,所以搶先式優(yōu)先級(jí)相同,此時(shí)就不能嵌套了
23、 NVI中有ISER[2](Interrupt Set-Enable Registers),ICER[2](Interrupt Clear-Enable Registers),ISPR[2](Interrupt Set-Pending Registers),ICPR[2](Interrupt Clear-Pending Registers),IABR[2](Active Bit Registers),IPR[15](InterruptPriority Registers)定義。其中ISER和ICER分別為中斷使能和中斷失能寄存器,都是寫1來使能/失能中斷的。為什么寫1?為什么不采用一個(gè)寄存器而用兩個(gè)寄存器來表示中斷使能/失能狀態(tài)?由于硬件,寫0比較復(fù)雜,并且可能造成其他位的狀態(tài)改變,所以用1來表示打開或者關(guān)斷是比較合理的
24、 中斷標(biāo)志位需要手動(dòng)清除
25、 配置外圍器件的一般步驟:1、打開端口時(shí)鐘。2、定義初始化結(jié)構(gòu)體并初始化。3、調(diào)用
26、串口的奇偶校驗(yàn):如果是奇偶校驗(yàn),那么USART_InitStructure.USART_WordLength= USART_WordLength_9b;這個(gè)數(shù)據(jù)的長度必須設(shè)定為9位!
27、ADC的規(guī)則組可以自定義轉(zhuǎn)換通道順序和轉(zhuǎn)換的通道個(gè)數(shù)。在實(shí)際應(yīng)用中,有時(shí)候希望有一些特別的通道具有很高的優(yōu)先權(quán),需要在規(guī)則組進(jìn)行轉(zhuǎn)換的時(shí)候強(qiáng)制打斷,進(jìn)行另一個(gè)通道的轉(zhuǎn)換,這樣一組通道,叫做注入組。
28、定時(shí)器的輸出比較模式:Timing(凍結(jié),什么都不做,普通定時(shí)),Active(OCxREF輸出高電平有效),Inactive(OCxREF輸出低電平),Toggle(比較成功后翻轉(zhuǎn)電平)。
29、STM32的定時(shí)器從0開始計(jì)數(shù),滿足一些條件,給出標(biāo)志位(比如匹配成功、時(shí)間更新、溢出等)然后從0開始計(jì)數(shù)。這一點(diǎn)和51不同。
30、OCx=OCxREF+極性
31、自動(dòng)裝載寄存器和影子寄存器:前者相當(dāng)于51當(dāng)中的溢出設(shè)定數(shù)值。而影子寄存器顧名思義是影子,就是寄存器的另一分copy。實(shí)際起作用的是影子寄存器,而程序員操縱的則是自動(dòng)裝載寄存器。如果APPE位使能,表明自動(dòng)裝載寄存器的值在下一次更新事件發(fā)生后才寫入新值。否則,寫入自動(dòng)裝載寄存器的值會(huì)被立即更新到影子寄存器。
32、RCC_PCLK1Config(RCC_HCLK_Div4);PCLK1的4分頻給定時(shí)器基準(zhǔn)時(shí)鐘
33、定時(shí)器配置:RCC、NVIC、GPIO(OC輸出或者PWM)、TIMx
34、通用定時(shí)器可以輸出4路不同的PWM,高級(jí)定時(shí)器可以輸出4路不同的PWM外,還可以輸出3路互補(bǔ)的PWM信號(hào)(驅(qū)動(dòng)三相電機(jī)),一共有7路。這樣算出來STM32可以產(chǎn)生30路PWM=7*2+4*4
35、
36、高級(jí)定時(shí)器時(shí)鐘源掛在了APB2上,而通用定時(shí)器掛在APB1上。AHB(72mhz)→APB1分頻器(默認(rèn)2)→APB1時(shí)鐘信號(hào)(36mhz)→倍頻器(*2倍)→通用定時(shí)器時(shí)鐘信號(hào)(72mhz)。如果APB1沒有分頻,那么通用定時(shí)器的時(shí)鐘信號(hào)頻率就直接等于APB1的時(shí)鐘頻率,沒有上述的倍頻器*2過程。TIM_SetAutoreload()用來改變PWM的頻率,TIM_SetCompare1()用來改變占空比
37、有刷電機(jī)一般啟動(dòng)力矩大一些,無刷電機(jī)啟動(dòng)力矩小,運(yùn)行起來力矩大。有刷電機(jī)采用電刷機(jī)械電流換向,而無刷電機(jī)則通過霍爾傳感器測出轉(zhuǎn)子的電流來判斷電機(jī)的運(yùn)動(dòng)位置和方向,返回給控制回路。
38、死區(qū)是必須要有的,因?yàn)檫@涉及到電路的短路問題。晶閘管在換向的時(shí)候需要死區(qū)時(shí)間來徹底關(guān)斷線路
39、剎車功能用來在控制回路出現(xiàn)問題時(shí),硬件自動(dòng)給予外部電機(jī)進(jìn)行緊急剎車制動(dòng),反應(yīng)在PWM上持續(xù)給出一個(gè)固定的占空比?(三相驅(qū)動(dòng)也是?)
40、PWM輸出最好采用PWM模式,其他的比較輸出模式相位會(huì)慢慢改變,不精準(zhǔn)
41、對(duì)FLASH的讀寫需要先解鎖后加鎖。FLASH寫0容易,寫1難。
42、下載程序有兩種方式,一種為ICP(在線編程),適用于JTAG或SWD協(xié)議下的燒寫程序。另一種成為IAP(在應(yīng)用編程),適用于很多接口(USB,串口,CAN)下載到存儲(chǔ)器中,IAP允許在程序運(yùn)行時(shí)重新燒寫FLASH
43、FLASH分為主存儲(chǔ)器(這里放置用戶的程序代碼)和信息塊(啟動(dòng)代碼),除此之外,還有一部分叫做系統(tǒng)存儲(chǔ)器,這一塊用戶不可操作,為ST公司出產(chǎn)后固化,為系統(tǒng)的上電自舉程序
44、FLASH在寫的時(shí)候,一定不能讀,如果有讀操作,那么將會(huì)鎖住總線
45、對(duì)FLASH操作時(shí),必須打開HIS
46、STM32有兩種看門狗(IWDG獨(dú)立看門狗《獨(dú)立時(shí)鐘》,WWDG窗口看門狗《由APB1分頻而來》)
47、SPI的的最高頻率為36MHz(fpclk/2)
48、 TIM1和TIM8高級(jí)定時(shí)器在輸出PWM時(shí),需要配置一下主輸出功能(CtrlPWMOutputs)才能輸出PWM。其他的通用定時(shí)器不需要這樣配置。但是TIM6和TIM7沒有PWM輸出功能。
49、Code為程序代碼部分
RO-data 表示程序定義的常量(如:const temp等);
RW-data 表示已初始化的全局變量
ZI-data 表示未初始化的全局變量,以及初始化為0的變量
Code, RO-data,RW-data..............flash
RW-data, ZIdata...................RAM
初始化時(shí)RW-data從flash拷貝到RAM
50、STM32F103ZET6有144個(gè)引腳(Z為144),其中,可用IO口為112個(gè)(7X16=112,ABCDEFG口)
51、ARM公司只生產(chǎn)內(nèi)核標(biāo)準(zhǔn),不生產(chǎn)芯片。ST、TI這樣的公司從ARM公司那里購買內(nèi)核,然后外加自己的總線結(jié)構(gòu)、外設(shè)、存儲(chǔ)器、始終和復(fù)位、I/O后就組成了自己的芯片。
52、CMSIS標(biāo)準(zhǔn)用于在向上的用戶層和下面的硬件層交換信息。這個(gè)架構(gòu)當(dāng)然可以自己定義,但是這樣的話就會(huì)沒有標(biāo)準(zhǔn)。所以強(qiáng)制使用CMSISI標(biāo)準(zhǔn)來設(shè)計(jì)芯片。通俗點(diǎn)的講就是系統(tǒng)初始化的函數(shù)名稱CMSIS定義為SystemInit(),GPIO_ResetBits()等
53、端口復(fù)用和端口重映射是兩個(gè)概念:前者在使能其對(duì)應(yīng)的端口和對(duì)應(yīng)的功能時(shí)鐘即可。后者需要打開AFIO時(shí)鐘,然后進(jìn)行端口的重映射GPIO_PinRemapConfig()
54、下載程序只能使用串口1,在硬件設(shè)計(jì)時(shí)一定要注意!
55、J-TAG調(diào)試頻率一般設(shè)定為2MHz,而SWD調(diào)試頻率可以設(shè)定為10MHz
56、SysTick的中斷實(shí)現(xiàn)可以有兩種方式:循環(huán)等待和中斷法。推薦用循環(huán)等待,中斷法可能會(huì)出問題而且占用資源。
57、部分I/O引腳是5V兼容的。單個(gè)I/O的最大驅(qū)動(dòng)電流和灌入電流均為25mA。整個(gè)芯片的電流為150mA
58、KEIL支持位段操作,可以利用C語言中的位段知識(shí)定義位段結(jié)構(gòu)體,然后對(duì)單獨(dú)的寄存器進(jìn)行單獨(dú)的位操作。
59、關(guān)于內(nèi)部上下拉電阻的設(shè)置:如果外部的按鍵另一頭接地,那么需要設(shè)置成上拉電阻。(理由是當(dāng)沒有按下按鍵時(shí),由于上拉,輸入為高電平;按下時(shí),由于外部接地,輸入為低電平。)同理,如果外部的按鍵另一頭接高電平,那么需要設(shè)置成下拉電阻。
60、串口中斷TXE和TC的區(qū)別:其實(shí)很明顯,一個(gè)是發(fā)送寄存器空標(biāo)志,一個(gè)是發(fā)送完成標(biāo)志。因?yàn)榇谠诎l(fā)送的時(shí)候首先需要把發(fā)送寄存器中的數(shù)據(jù)移位到移位寄存器(影子寄存器)后再串行發(fā)送出去。所以當(dāng)發(fā)送寄存器DR空時(shí)說明現(xiàn)在可能正在往外面發(fā)送數(shù)據(jù),數(shù)據(jù)可能還沒有發(fā)送完。但是發(fā)送完成不一樣,他是在移位寄存器將本次數(shù)據(jù)全部移位完成后設(shè)置的標(biāo)志位(也就是發(fā)送完了停止位)。這么看來:TXE允許程序有更充裕的時(shí)間填寫TDR寄存器,保證發(fā)送的數(shù)據(jù)流不間斷。TC可以讓程序知道發(fā)送結(jié)束的確切時(shí)間,有利于程序控制外部數(shù)據(jù)流的時(shí)序。
61、窗口看門狗顧名思義有一個(gè)窗口,這個(gè)窗口的橫坐標(biāo)為時(shí)間,意思是在指定的時(shí)間范圍內(nèi)刷新寄存器,否則單片機(jī)復(fù)位。窗口的上限由人來設(shè)定W[6:0],下線定死為0x40Twwdg=(4096×2^WDGTB×(T[5:0]+1)) /Fpclk1;Twwdg為超時(shí)時(shí)間ms,F(xiàn)pclk1為APB1時(shí)鐘KHz,
62、TIMx通用定時(shí)器有4個(gè)獨(dú)立通道,分別可以用來作為:輸入捕獲、比較輸出、PWM生成、單脈沖模式輸出。
63、定時(shí)器的時(shí)鐘來源有4個(gè):內(nèi)部時(shí)鐘(CK_INT),外部時(shí)鐘模式1(TIx),外部時(shí)鐘模式2(ETR),內(nèi)部觸發(fā)模式(ITRx,這個(gè)用來定時(shí)器的同步)
64、定時(shí)器中斷溢出更新時(shí)間:Tout=((arr+1)*(psc+1))/Tclk,ARR為自動(dòng)裝載寄存器(1~65535)、PSC為分頻系數(shù),TCLK為輸入時(shí)鐘頻率(Mhz)
65、PWM1和PWM2模式的區(qū)別僅在于相位的180度。前者高電平時(shí),后者低電平。感覺好雞肋,OCxREF極性就可以實(shí)現(xiàn)這個(gè)功能。
66、定時(shí)器輸入捕捉有一個(gè)濾波器,顧名思義濾波器起到的就是濾波的作用,在捕捉外部信號(hào)時(shí),信號(hào)可能不穩(wěn)定,此時(shí)需要濾波:當(dāng)檢測到有外部輸入時(shí),需要再連續(xù)采樣N次如果確定為高電平/低電平,則觸發(fā)響應(yīng)中斷(如果開啟了的話)。
67、電容觸摸屏原理:通過充放電的曲線不同來檢測是否被按下。 實(shí)際的實(shí)驗(yàn)過程中,TPAD可以用一塊覆銅區(qū)域來替代,通過電容的充放電常數(shù)來確定是否按下。
68、OLED,即有機(jī)發(fā)光二極管(OrganicLight-Emitting Diode),又稱為有機(jī)電激光顯示(Organic Electroluminesence Display,OELD)。下圖為OLED的GRAM與屏幕的對(duì)應(yīng)表
PAGE2單獨(dú)列出來:
69、USART可以操縱SPI設(shè)備。不過最大頻率只有4.5MHz
70、使用I/O口時(shí)應(yīng)該注意的問題
71、ADC的Vref+和Vdda與VSS,Vref-一定要加高質(zhì)量的濾波電容,切靠近單片機(jī)。
72、ADC分為規(guī)則組和注入組,前者有16個(gè)通道,后者有4個(gè)通道。并且16個(gè)通道公用一個(gè)數(shù)值寄存器,注入組的4個(gè)通道分別有一個(gè)數(shù)值寄存器。
73、采樣頻率越高,輸入阻抗要求越小。
74、Stm32進(jìn)入中斷的最短周期為6個(gè)周期
75、
76、
77、FSMC,即靈活的靜態(tài)存儲(chǔ)控制器。能夠與同步或異步存儲(chǔ)器和16位PC存儲(chǔ)器卡接口,STM32的FSMC接口支持包括SRAM、NANDFLASH、NORFLASH和PSRAM等存儲(chǔ)器。
、平時(shí)所說的U盤里的FLASH存儲(chǔ)器有兩種類型:NANDflash和NOR flash。
NAND FLASH | NOR FLASH |
不能直接運(yùn)行里面的代碼 | 可以直接運(yùn)行里面的代碼 |
寫入和擦除速度快 | 寫入和擦除速度慢 |
讀取速度稍慢 | 讀取速度稍快 |
擦寫周期100萬次 | 擦寫周期10萬次 |
成本低,容量高 | 成本高,容量低 |
一般為串行接口 | 有SRAM接口 |
79、TFT在操作時(shí),可以當(dāng)作外部SRAM來操作,這樣的話,如果單片機(jī)有FSMC接口,就可以使用NORFLASH的SRAM接口去控制,速度非常快。
80、Stm32的的FSMC有4個(gè)256MB的存儲(chǔ)塊,一共尋址1GB的外部存儲(chǔ)器空間。
81、在STM32內(nèi)部,F(xiàn)SMC的一端通過內(nèi)部高速總線AHB連接到內(nèi)核Cortex-M3,另一端則是面向擴(kuò)展存儲(chǔ)器的外部總線。內(nèi)核對(duì)外部存儲(chǔ)器的訪問信號(hào)發(fā)送到AHB總線后,經(jīng)過FSMC轉(zhuǎn)換為符合外部存儲(chǔ)器通信規(guī)約的信號(hào),送到外部存儲(chǔ)器的相應(yīng)引腳,實(shí)現(xiàn)內(nèi)核與外部存儲(chǔ)器之間的數(shù)據(jù)交互。
82、FSMC中的DATASET和ADDSET的設(shè)置需要參看外部存儲(chǔ)器的時(shí)序圖來確定。一般而言,DATASET指的是數(shù)據(jù)建立時(shí)間,也就是讀/寫信號(hào)開始到讀/寫信號(hào)停止(上升沿存儲(chǔ)數(shù)據(jù))的持續(xù)時(shí)間。(一般來說寫比讀快!)。而ADDSET指的是地址建立時(shí)間,指的是片選之后到讀/寫操作之前的時(shí)間,這是針對(duì)SRAM來說的,如果操縱的是TFT,不存在地址線,所以此時(shí)的ADDSET就是讀/寫信號(hào)結(jié)束到RS電平的轉(zhuǎn)換時(shí)間。
83、
84、
85、FSMC的三個(gè)配置寄存器:FSMC_BCRx(片選控制配置)、FSMC_BTRx(片選時(shí)序)、FSMC_BWTRx(片選寫時(shí)序)。
86、 RTC時(shí)鐘配置必須要用到BKP寄存器,BKP寄存器在單片機(jī)復(fù)位、電源復(fù)位、待機(jī)喚醒模式下是不會(huì)更改值的,他的供電由VDD供電,VDD被切斷后自動(dòng)切換至外部的VBAT供電。
87、 要修改BKP寄存器的值,必須取消其寫保護(hù)的標(biāo)志。BKP寄存器在上電時(shí)自動(dòng)寫保護(hù)。
88、 Stm32有三種省電模式:
三種省電模式中,耗電量從上到下依次降低,待機(jī)模式的電流僅為2uA。
89、 從待機(jī)模式中喚醒單片機(jī)等效于讓單片機(jī)復(fù)位,但是電源寄存器的值會(huì)有一個(gè)標(biāo)志位指示單片機(jī)是被喚醒的,不是被復(fù)位的。
90、 ADC的時(shí)鐘不要超過14MHz,否則轉(zhuǎn)換精度會(huì)下降。最大轉(zhuǎn)換速率為1MHz,即轉(zhuǎn)換周期為1us(14MHz,采樣周期為1.5個(gè)ADC時(shí)鐘)
91、 Tcovn=采樣時(shí)間+12.5個(gè)周期。采樣時(shí)間盡量選長一點(diǎn),這樣精度高一些,但是轉(zhuǎn)換速率下降,這也是有利必有弊。
92、
93、 拿ARM7TDMI來說,T代表Thumb指令集,D是說支持JTAG調(diào)試(Debugging),M意指快速乘法器,I則對(duì)應(yīng)一個(gè)嵌入式ICE模塊。
94、 MMU作為嵌入式處理器與應(yīng)用處理器的分水嶺標(biāo)志à具有內(nèi)存管理單元的嵌入式處理器可以定位為應(yīng)用處理器。這么說M系列和A系列的處理器的區(qū)別在于A系列的處理器具有MMU單元可以進(jìn)行內(nèi)存模塊的管理。
95、ARM處理器有兩種狀態(tài):ARM狀態(tài)和Thumb狀態(tài)。
96、 這張圖說明了一切:Thumb2指令集做了一件很偉大的事情:將16位和32位的指令集融為一體,兼容性非常強(qiáng)!(這么說CM3不支持某些32位ARM指令集??)
97、
98、MSP是系統(tǒng)復(fù)位后使用的堆棧指針,PSP由用戶的代碼使用。兩個(gè)堆棧指針為4字節(jié)對(duì)齊!!
99、在ARM編程領(lǐng)域中,凡是打斷程序運(yùn)行的事件,統(tǒng)稱為異常(exception)。
100、 因?yàn)榇嬖贚R(鏈接寄存器),所以可支持1級(jí)的子程序調(diào)用而不用壓棧到內(nèi)存,大大提高了運(yùn)行速度。---à這就是說,我們在編程的時(shí)候,一級(jí)調(diào)用是不會(huì)耗費(fèi)太多時(shí)間的,除非是二級(jí)調(diào)用!
101、 處理器有兩種操作模式:handler模式和線程模式。
處理器也有兩種特權(quán)分級(jí):特權(quán)級(jí)和用戶級(jí)。 這張圖說明了一切:復(fù)位進(jìn)入特權(quán)級(jí)線程模式,如果有異常,進(jìn)入特權(quán)級(jí)的handler模式處理異常或中斷例程,然后返回至特權(quán)級(jí)線程模式。通過修改CONTROL寄存器可以進(jìn)入用戶級(jí)線程模式。
102、 兩個(gè)高級(jí)定時(shí)器TIM1和TIM8是掛接在APB1總線上
103、 STM32的外部中斷是以組來區(qū)分的,也就是說PA0,PB0,PC0單片機(jī)是無法區(qū)分其中哪個(gè)觸發(fā)的中斷à均為EXIT0線中斷服務(wù)例程。所以,外部中斷支持16路的中斷分辨率。從另一個(gè)方面來講,我們可以設(shè)置GPIO_EXTILineConfig(GPIO_PortSourceGPIOx, GPIO_PinSourcex);來開通中斷線實(shí)現(xiàn)組內(nèi)的不同中斷。
104、 DAC有兩個(gè)寄存器,一個(gè)是DHR(Data HoldingRegister)數(shù)據(jù)保持寄存器,一個(gè)DOR(Data Output Register)數(shù)據(jù)輸出寄存器。真正起作用的是DOR寄存器,該寄存器把值給數(shù)模轉(zhuǎn)換發(fā)生單元輸出以VREF+為參考電壓的電壓值。如果是硬件觸發(fā)轉(zhuǎn)換,系統(tǒng)將在1個(gè)ABP時(shí)鐘周期后把值給DOR,如果是軟件觸發(fā)轉(zhuǎn)換,時(shí)間為3個(gè)APB時(shí)鐘周期。然后,均等待Tsetting時(shí)間(Typical為3us,Max為4us)后真正輸出電壓值。
105、 DAC分8位模式和12位模式,其中后者可以選擇左右對(duì)齊
106、 DMA仲裁器分為軟件和硬件兩種。軟件部分分為4個(gè)等級(jí),分別是很高優(yōu)先級(jí)、高優(yōu)先級(jí)、中等、低。硬件部分由通道的大小來決定優(yōu)先級(jí),越低優(yōu)先級(jí)越高。
107、 DMA有一個(gè)實(shí)時(shí)的傳輸數(shù)據(jù)量寄存器叫做DMA_CNDTR,最大值為65535,存放的是當(dāng)前傳輸所要傳輸?shù)臄?shù)據(jù)量。當(dāng)數(shù)據(jù)量變?yōu)?時(shí),表明傳輸完成。
108、 CAN總線(ControllerArea Network)。CAN控制器根據(jù)兩根線上的電位差來判斷總線電平,總線電平又分為顯性電平和隱性電平,二者必居其一。
109、 CAN總線具有6個(gè)特點(diǎn):1:多主控制(掛接在總線上的所有設(shè)備均可以成為主設(shè)備,并且設(shè)備ID是用來決定設(shè)備的優(yōu)先級(jí),沒有設(shè)備地址概念),2:系統(tǒng)若軟性(沒有設(shè)備地址概念),3、通訊速度較快,通訊距離較遠(yuǎn)(1Mbps下40M,5kbps下10KM),4、具有錯(cuò)誤檢測、錯(cuò)誤通知(通知其他設(shè)備)和錯(cuò)誤恢復(fù)功能(強(qiáng)制結(jié)束發(fā)送,重復(fù)發(fā)送接收錯(cuò)誤的信息。),5、故障封閉,當(dāng)總線上的設(shè)備發(fā)生連續(xù)故障錯(cuò)誤時(shí),CAN控制器會(huì)把改控制器踢出總線。6、連接節(jié)點(diǎn)多。理論上可以無限制加載,但是受到時(shí)間延遲和電氣負(fù)載的限制,實(shí)際數(shù)目是有限制的。降低傳輸速度可以適當(dāng)增加可掛接負(fù)載個(gè)數(shù)。
110、 CAN協(xié)議有兩個(gè)標(biāo)準(zhǔn),ISO11898(針對(duì)125kbps~1Mbps的高速速率)和ISO11519-2(125kbps以下的低速速率)
111、
112、 CAN協(xié)議的有5種類型的幀:數(shù)據(jù)幀、遙控幀、錯(cuò)誤幀、過載幀、幀間隔。其中前兩種幀有標(biāo)準(zhǔn)格式(11位ID)和擴(kuò)展格式(29位ID)。
113、 數(shù)據(jù)幀構(gòu)成:
(1) 幀起始。 表示數(shù)據(jù)開的段幀起始。
(2) 仲裁段。 表示該幀優(yōu)先級(jí)的仲裁段。
(3) 控制段。 表示數(shù)據(jù)的字節(jié)及保留位段。
(4) 數(shù)據(jù)段。 數(shù)據(jù)的內(nèi)容,一幀可發(fā)送0~8個(gè)字節(jié)的數(shù)據(jù)。
(5) CRC段。 檢查幀的傳輸錯(cuò)誤段。
(6) ACK段。 表示確認(rèn)正常接收的段。
(7) 幀結(jié)束。 表示數(shù)據(jù)的段幀結(jié)束。
114、 Stm32f103系列只有一個(gè)CAN控制器,有3個(gè)發(fā)送郵箱和3級(jí)深度的2個(gè)FIFO,14個(gè)過濾組器。
115、 STM32的每個(gè)過濾組可以配置為1個(gè)32位過濾器和2個(gè)16位過濾器。除此之外,還可以配置為屏蔽位模式(ID+屏蔽)和標(biāo)識(shí)符列表(ID和屏蔽寄存器均用來做ID寄存器)模式。
116、 CAN接收到有效報(bào)文被放置在3級(jí)郵箱深度的FIFO中,F(xiàn)IFO完全由硬件來管理。
117、 CAN總線的波特率
118、 觸摸屏一般分為電阻式觸摸屏和電容式觸摸屏。前者檢測觸摸的位置原理是利用觸摸屏控制器中的A/D轉(zhuǎn)換器經(jīng)過兩次A/D讀值后得出X和Y的坐標(biāo)值。注意:這個(gè)X和Y的值是相對(duì)于觸摸屏的,而非LCD屏。所以在這里需要注意兩個(gè)概念:觸摸屏和LCD屏。這是兩個(gè)不同的概念,也是兩個(gè)不同的物理結(jié)構(gòu),其中電阻觸摸屏是由上下兩個(gè)導(dǎo)電層中間夾著一層非常薄的透明隔層;而LCD就是指顯示屏。
119、 電阻觸摸屏有X和Y、X和Y的比例因子、坐標(biāo)軸方向、偏移量。LCD也有自己的這些參數(shù)。兩者完全不相干,所以在定位的時(shí)候需要進(jìn)行坐標(biāo)轉(zhuǎn)換。公式:
,通過對(duì)屏幕的四個(gè)點(diǎn)進(jìn)行校準(zhǔn),得到四元一次方程,求解即可。
120、 NEC協(xié)議的數(shù)據(jù)幀格式:同步碼頭、地址碼、地址反碼、控制碼、控制反碼。同步碼由一個(gè)9ms的低電平和一個(gè)4.5ms的高電平組成,地址碼、地址反碼、控制碼、控制反碼均是8位數(shù)據(jù)格式。按照低位在前,高位在后的順序發(fā)送。
121、 NEC協(xié)議在發(fā)送的時(shí)候,會(huì)有560us的38KHz的載波信號(hào),而在接收的時(shí)候這部分載波信號(hào)被認(rèn)定為低電平,而剩余的(2.25ms-650us)的邏輯“1”和(1.12ms-650us)的邏輯“0”時(shí)間則被認(rèn)定為高電平。
122、 在單位時(shí)間內(nèi)的位移被定義為速度,速度有線速度和角速度之分,分別對(duì)應(yīng)兩種傳感器測量這兩種不同的速度:線速度傳感器(加速度計(jì))、角速度傳感器(陀螺儀)。前者多應(yīng)用在靜態(tài)或者低慢速運(yùn)動(dòng)中的姿態(tài)求解,后者多應(yīng)用在動(dòng)態(tài)運(yùn)動(dòng)中姿態(tài)求解。
123、 根據(jù)標(biāo)準(zhǔn)約定,零加速度(或零 G 準(zhǔn)位)通常定義為相當(dāng)于最大輸出值(12 位輸出為 4096,10 位輸出為 1024 等)一半的輸出。對(duì)于提供 12 位輸出的加速度計(jì),零 G 準(zhǔn)位將等于 2048。輸出大于 2048 表示正加速度。輸出小于 2048 表示負(fù)加速度。加速度的數(shù)量通常用單位 g (1g = 9.8m/s2 = 重力加速度)表示。通過確定測量的輸出與零 G 準(zhǔn)位之間的差值,然后除以加速度計(jì)的靈敏度(用計(jì)數(shù)/g 或 LSB/g表示)來計(jì)算加速度。對(duì)于提供 12 位數(shù)字輸出的 2g 加速度計(jì),靈敏度為 819 計(jì)數(shù)/g 或 819 LSB/g。加速度等于:a = (Aout - 2048)/(819 計(jì)數(shù)/g),單位為 g。
124、 加速度計(jì)測得的加速度的方向和設(shè)備設(shè)定的坐標(biāo)系是相反的,因?yàn)樵肀砻髟跍y量力的時(shí)候采用的是非慣性系參考系,而我們高中時(shí)代研究的坐標(biāo)系是慣性系參考系,前者在物體進(jìn)行運(yùn)動(dòng)產(chǎn)生加速度時(shí),假想一個(gè)與速度方向相反的力作用在物體上,這個(gè)力就是慣性力;后者我們說不存在慣性力,只說存在慣性,因?yàn)樵趹T性坐標(biāo)系中,我們研究的是物體,而非坐標(biāo)系(即假定坐標(biāo)系相對(duì)地球靜止),當(dāng)我們把坐標(biāo)系也考慮在內(nèi)時(shí),當(dāng)坐標(biāo)系運(yùn)動(dòng),就產(chǎn)生了慣性力f,這種力作用會(huì)假想作用在物體上,只是與運(yùn)動(dòng)方向相反。
125、 由上可知,加速度計(jì)的本質(zhì)是測量力而非加速度。
126、 NRF24L01工作在2.4GHz的頻段,由于頻段頻率較高,所以傳輸速率較快,為2Mbps
127、 STM32的閃存模塊由:主存儲(chǔ)器、信息塊和閃存存儲(chǔ)器接口寄存器3個(gè)部分構(gòu)成。主存儲(chǔ)器用來存放代碼和const常量;信息塊由兩個(gè)部分組成:啟動(dòng)程序代碼、用戶選擇字節(jié)。其中啟動(dòng)程序代碼為ST公司自帶的啟動(dòng)程序,用于串口下載。最后的閃存存儲(chǔ)器接口寄存器用于控制整個(gè)對(duì)閃存區(qū)域的操作。
128、 CPU的運(yùn)行速度比FLASH的操作速度快的多,一般FLASH的最快訪問速度≤24Mhz。如果CPU的速度超過這個(gè)頻率,那么在讀取FLASH的時(shí)候必須加入等待時(shí)間(FLASH_ACR設(shè)置)
129、 FLASH編程時(shí),寫入必須為半字(16位)。并且在寫入的時(shí)候必須保證所寫區(qū)域的數(shù)據(jù)必須為0xFFFF。
130、 STM32的FSMC有HADDR[27:0],其中[27:26]用來選擇BANK區(qū)域的4個(gè)不同塊。剩下的[25:0]則用來連接外部存儲(chǔ)區(qū)域的地址線FSMC_A[25:0]。如果數(shù)據(jù)寬度是8bit,此時(shí)的HADDR[25:0]和FSMC_A[25:0]是完全對(duì)應(yīng)的。如果數(shù)據(jù)寬度是16bit,此時(shí)的HADDR[25:1]和FSMC_A[24:0]是對(duì)應(yīng)起來的。需要注意:無論數(shù)據(jù)寬度是多少,外部的FSMC_A[0]和A[0]總是對(duì)應(yīng)的。
131、 關(guān)于LB和UB的信號(hào)控制是由硬件自動(dòng)控制的,當(dāng)AHB的數(shù)據(jù)寬度小于外部存儲(chǔ)器的數(shù)據(jù)寬度時(shí),此時(shí)LB和UB的控制信號(hào)自動(dòng)產(chǎn)生(比如字節(jié)讀取/寫入16bit的外部存儲(chǔ)器)
132、 __attribute__ (函數(shù)屬性、變量屬性、類型屬性等)。如果在使用SRAM時(shí),可以采用u32 sram_array[xx] __attribute__ ((at(0x68000000))代表將外部SRAM的空間全部給了sram_array這個(gè)變量,他具有在at0x68000000這個(gè)地址的屬性。往里面寫值就直接在SRAM里面寫值。
133、
內(nèi)存管理有一種方式叫做分塊式內(nèi)存管理。
注意表中的分配方向,從頂?shù)降住C恳豁?xiàng)對(duì)應(yīng)一個(gè)內(nèi)存塊。里面的數(shù)值代表了內(nèi)存池的狀態(tài):如果為0,表示該內(nèi)存沒有被分配;如果非0,那么數(shù)值的大小就表示了該塊內(nèi)存被連續(xù)占用的內(nèi)存數(shù)。比如說數(shù)值為20,意思是包括該項(xiàng)在內(nèi)的內(nèi)存塊被連續(xù)占用了20塊分給了指針。
134、SD卡的分類:
一般的SD卡支持兩種傳輸模式:SD卡模式(SDIO)、SPI模式。顯然前面一種是專用模式,所以速度比較快。
135、 常用的漢字內(nèi)碼系統(tǒng)有GB2313、GB13000、GBK、BIG5(繁體)。其中GB2313只有幾千個(gè)漢字,而GBK則有2萬多漢字。
136、 要顯示漢字,采用的方式如果用點(diǎn)陣的形式是不可取的,因?yàn)檫@無法查找漢字。采用的方式就是內(nèi)碼系統(tǒng)。GBK標(biāo)準(zhǔn)中,一個(gè)漢字對(duì)應(yīng)2個(gè)字節(jié):前者稱為區(qū)(0x81~0xFE)后者為(0x40~0x7E)和(0x80~0xFE)。前者有126個(gè)區(qū),后者有190,那么可以顯示的漢字?jǐn)?shù)量有126*190=23940個(gè)。根據(jù)這兩個(gè)值用來查找字庫,字庫中存放的還是每個(gè)漢字的點(diǎn)陣數(shù)據(jù)。這個(gè)字庫非常大,如果是16*16的字體,那么一個(gè)字體就需要32個(gè)字節(jié),如此說來需要23940*32=748K的空間,可見非常大,所以需要外部的Flash來存儲(chǔ)這個(gè)字庫。
137、 由于漢字內(nèi)碼系統(tǒng)不具有國際通用性,但是Unicode幾乎把所有的語言都放置進(jìn)來,這樣在單片機(jī)中操作漢字時(shí),就需要將GBK和Unicode轉(zhuǎn)化。尤其是在FATFS中,創(chuàng)建中文文件名和讀取中文文件信息時(shí)需要將Unicode換轉(zhuǎn)為GBK后再進(jìn)行修改操作,再反轉(zhuǎn)換成Unicode保存修改。這么說,兩者的存在是由于標(biāo)準(zhǔn)的不統(tǒng)一,并且Unicode中只有6064個(gè)漢字,而GBK顯然是一種漢字?jǐn)U展。
138、 BMP圖片編碼的順序是從左到右,從下到上。
139、 VS1053是一款高性能的數(shù)字音頻解碼芯片,從SD卡中將mp3等音樂音頻文件通過SPI送給VS1053后,由其進(jìn)行音頻解碼,輸出音樂給耳機(jī)。耳機(jī)驅(qū)動(dòng)可以采用TDA1308芯片,這款芯片為AB類耳機(jī)驅(qū)動(dòng)芯片。
140、
141、 IAP(In Application Programming)在應(yīng)用編程是為了后期開發(fā)更新程序方便而提出的概念。具體的實(shí)現(xiàn)方法如下圖所示:
在普通編程中,flash中的code是通過JTAG和ISP等工具下載到單片機(jī)中。而在IAP編程中,flash被分區(qū)為A和B兩個(gè)區(qū)域,A區(qū)域只允許用USB/USART等方式下載,此區(qū)域作為更新B區(qū)域的代碼用。B區(qū)域則是用戶的code區(qū)域,真正的代碼在這里被執(zhí)行,放置的就是app。
上圖表示STM32正常運(yùn)行的流程圖,可以看到上電復(fù)位后系統(tǒng)從0x80000004處開始運(yùn)行程序,這里放置的是復(fù)位中斷向量,然后跳轉(zhuǎn)至復(fù)位中斷程序入口后再跳轉(zhuǎn)至main函數(shù)運(yùn)行用戶的程序。
上圖表示加入IAP后的STM32程序運(yùn)行流程圖。可以看到上電復(fù)位后跳到IAP程序的main函數(shù)處運(yùn)行IAP過程(這個(gè)過程就是把下面灰底色塊的程序代碼燒進(jìn)B區(qū)域à代碼更新)。后面的過程和STM32正常運(yùn)行一樣,如果出現(xiàn)中斷請求,還是跳轉(zhuǎn)到A區(qū)域中的中斷向量表中,然后再跳轉(zhuǎn)到B區(qū)域的中斷服務(wù)入口。
142、 USB有四根線,VCC、GND、D+、D-。在USB主機(jī)上,D+和D-均通過一個(gè)15K的電阻接地,這樣兩條線均為低電平。在USB設(shè)備中,對(duì)于高速設(shè)備會(huì)在D+通過一個(gè)1.5K的電阻接到VCC,而低俗設(shè)備會(huì)在D-通過一個(gè)1.5K的電阻接到VCC。這樣主機(jī)就可以通過D+和D-的高電平的到來來檢測是否有設(shè)備接入,并且識(shí)別高低速設(shè)備。
143、 UCOSII是一種實(shí)時(shí)操作系統(tǒng),具有執(zhí)行效率高、占有空間小(最小內(nèi)核2KB)、實(shí)施性能優(yōu)良、擴(kuò)展性強(qiáng)和移植性強(qiáng)等優(yōu)點(diǎn)。
UCOS具有多任務(wù)并發(fā)工作的特點(diǎn)(注意,任何時(shí)候只有一個(gè)任務(wù)能夠占用CPU。并發(fā)只是任務(wù)輪流占用CPU而不是同時(shí)工作)。最大支持255個(gè)任務(wù)并發(fā)工作。
丁云鶴1,2 嚴(yán)棽棽3 王璐1,2陳燕云3
宋婷婷4張璐1,2李哲清4楊智1,2田蓓1,2,3
中華眼科醫(yī)學(xué)雜志(電子版)2021年2月第1卷 第1期 Chin J OPhthalmol Med(Electronic Edition),February 2021,Vol.11,No.1
【摘要】目的 探討增殖性糖尿病視網(wǎng)膜病變(PDR)伴虹膜新生血管患者行虹膜血管造影圖像的特征。方法 選取2017年9月至2018年12月就診于首都醫(yī)科大學(xué)附屬北京同仁醫(yī)院眼科中心及首都醫(yī)科大學(xué)教學(xué)醫(yī)院石景山醫(yī)院眼科確診為增殖性糖尿病視網(wǎng)膜病變患者32例(64只眼)的臨床資料進(jìn)行研究。檢查并記錄患者的年齡、糖尿病病程、眼壓及視力,并同時(shí)對(duì)全部患者行熒光素虹膜血管造影(IFA)和吲哚菁綠虹膜血管造影(IICGA)檢查,由兩名臨床經(jīng)驗(yàn)豐富的醫(yī)師判讀檢查結(jié)果是否存在虹膜新生血管(NVI);記錄其血管形態(tài)和分布范圍,并總結(jié)兩種虹膜血管造影圖像的特點(diǎn)。通過活動(dòng)輪廓模型(snake算法)對(duì)虹膜區(qū)域的造影圖像進(jìn)行提取,并利用大津閾值算法(Otsu算法)對(duì)提取后的虹膜造影區(qū)域進(jìn)行分割,計(jì)算NVI所占總虹膜面積的比例。年齡、糖尿病病程、眼壓、視力及虹膜新生血管面積的比例,以均數(shù)±標(biāo)準(zhǔn)差進(jìn)行描述。虹膜新生血管面積的占比與糖尿病病程、眼壓及視力的相關(guān)性,采用Spearman法進(jìn)行相關(guān)分析。結(jié)果 NVI在IFA檢查中表現(xiàn)為滲漏的血管叢,在虹膜色素較深或血管滲漏嚴(yán)重時(shí),表現(xiàn)為背景高熒光,無法顯示血管形態(tài)。在IICGA檢查中可以很好地顯示NVI的形態(tài)及細(xì)節(jié),基本不會(huì)出現(xiàn)造影劑滲漏的現(xiàn)象。兩種NVI造影檢出率與臨床醫(yī)師判讀的符合率為100%。在IFA及IICGA中確診為NVI的22例(38只眼)患者中,虹膜有粘連者6例(10只眼),占26.3%;虹膜形態(tài)不規(guī)則者7例(12只眼),占31.6%;新生血管多出現(xiàn)在瞳孔緣附近9例(17只眼),占45%。在IICGA中顯示有NVI虹膜的的22例(38只眼)患者中,NVI顯示在瞳孔緣者10例(17只眼);其范圍為1個(gè)象限者4例(5只眼),2個(gè)象限者2例(2只眼),3個(gè)象限者1例(1只眼),4個(gè)象限者8例(13只眼)。NVI患者的NVI面積占比與眼壓呈正相關(guān),檢驗(yàn)結(jié)果具有統(tǒng)計(jì)學(xué)意義(r=0.567,P<0.05);NVI面積占比與糖尿病病程的相關(guān)性檢驗(yàn)結(jié)果無統(tǒng)計(jì)學(xué)意義(r=-0.167,P>0.05);與視力的相關(guān)性檢驗(yàn)結(jié)果亦無統(tǒng)計(jì)學(xué)意義(r=0.15,P>0.05)。結(jié)論在本研究病例中,IICGA及IFA檢查均可發(fā)現(xiàn)PDR合并NVI患者的NVI,兩種檢查結(jié)果的診斷一致。其中,IICGA檢查可以清晰地顯示NVI的形態(tài)細(xì)節(jié)、分布范圍,且能對(duì)其面積進(jìn)行定量分析,故對(duì)于NVI的早期診斷更有優(yōu)勢。此外,本研究結(jié)果還提示患者NVIR面積的占比與眼壓呈正相關(guān)。
【關(guān)鍵詞】增殖性糖尿病視網(wǎng)膜病變;虹膜新生血管;吲哚菁綠虹膜血管造影;熒光素虹膜血管造影
Multimodal characteristics of iris neovascularization in patients with proliferative diabetic retinopathy Ding Yunhe1,2, Yan Shenshen3,Wang Lu1,2,Chen Yanyun3, Song Tingting4,Zhang Lul1,2, Li Zheqing4, Yang Zhi1,2,Tian Pei1,2,3.1School of Biomedical Engineering,Capital Medical University , Beijing 100069,China;2Beijing Key Laboratory of Fundamental Research on Biomechanics in Clinical Application,Capital Medical University,Beijing 100069,China;3Department of Ophthalmology,Beijing Shijingshan Hospital,Shijingshan Teaching Hospital of Capital Medical University,Beijing 100043,China;4Beijing Tongren Eye Center,Beijing Tongren Hospital,Capital Medical University, Beijing Ophthalmology& Visual Science Key Lab. ,Beijing 100730,China
Corresponding author: Yang Zhi,Email: zhiyang@ccmu.edu.cn
【Abstract】 Objective To investigate the characteristics of iris angiography in patients with proliferative diabetic retinopathy(PDR) and iris neovascularization.Methods 32 patients (64 eyes ) diagnosed as PDR in the Ophthalmology Center of Beijing Tongren Hospital and Beijing Shijingshan Hospital,affiliated to Capital Medical University from September 2017 to December 2018 were collected. The age,course of diabetes,intraocular pressure and visual acuity of patients were examined and recorded. All patients were underwent both iris fluorescein angiography ( lFA) and indocyanine green angiography( IICGA ). Two experienced ophthalmologists analyszed the imaging of IFA and ICGA for iris neovascularization(NVI),recorded the vascular morphology and distribution of NVI,and summarized the characteristics of two kinds of iris angiography images. The iris region was extracted by the Snake algorithm,then angiography region was segmented by Otsu algorithm,and the proportion of NVI in the total iris area wascalculated. The age,course of diabetes,intraocular pressure,visual acuity and the proportion of NVl areawere described by mean±standard deviation.Spearman correlation analysis was used to analyze the correlationbetween NVI area,diabetes duration,intraocular pressure and visual acuity. Results In IFA images,NVI manifested as leaking vascular plexus. The morphology of NVl in IFA for some severe cases was invisible because of rapid leak fluorescence and deep iris pigmentation. While for iICCA images , these were not found.The detection rate of two kinds of NVl angiograply was about 100% in accordance with the clinician's interpretation. Among of 22 patients (38 eyes) diagnosed with NVI by IFA and IICGA, 6 cases ( 10 eyes) had iris synechia,accounting for 26.3%; 7 cases (12 eyes) had iegulaur iris morphology,accounting for 31.6%and 9 cases (17eyes) had neovascularization near the pupil margin,accounting for 45%. IICGA showed the distribution of NVI in 22 patients (38 eyes ): 10 cases (17 eyes) with pupil margin involvement , 4 cases(5eyes) with 1 quadrant , 2 cases (2eyes) with 2 quadrants,1 case (1 eye) with 3 quadrants and 8 cases(13 eyes) with 4 quadrants. The proportion of NVI area in NVl patients was positively correlated with intraocular pressure,and there was statistically significant differences between them (r=0.567,P<0.05) ,but non-significant difference with the course of diabetes mellitus (r= -0.167,P>0.05) and visual acuity(r =0.115, P>0.05). Conclusions NVl could be found in both IICCA and IFA in patients with PDR,and there was non-significant difference between two angiographic methods in detecting NVIL. IlCGA could clearly show the morphology and distribution of NVl, which has more advantages in the early diagnosis of NVl, and issuggested to be used for quantitative analysis for neovascularization. In adlition,pioportion of NVl area was positively correlated with intraocular pressure significantly.
虹膜新生血管(iris neovascularization,NVI),是導(dǎo)致新生血管性青光眼的常見原因,通常繼發(fā)于多種眼病和全身性疾病[1-2]。增殖性糖尿病視網(wǎng)膜病變(proliferative diabetic retinopathy,PDR)常合并虹膜新生血管,其發(fā)病機(jī)制復(fù)雜多樣。其中,主要原因在于血管內(nèi)皮生長因子(vascular endothelial growth factor,VEGF)在糖尿病性視網(wǎng)膜病變后期表達(dá)增強(qiáng),濃度升高彌散進(jìn)入前房,促使NVI形成[3-5]。當(dāng)新生血管的毛細(xì)血管增生伸展到前房角時(shí)可引起繼發(fā)性開角型青光眼;虹膜前表面收縮后可引起虹膜周邊粘連,導(dǎo)致閉角性青光眼;此期會(huì)引發(fā)頑固性眼壓升高、反復(fù)前房出血及繼發(fā)性葡萄膜炎[6]。虹膜血管造影檢查主要包括熒光素虹膜血管造影(iris fluorescence angiography,IFA)和吲哚菁綠虹膜血管造影(iris indocyanine green angiography,ICGA)兩種方式[7]。虹膜血管造影對(duì)于研究虹膜病變具有重要意義。本研究旨在通過行IFA和IICGA探討PDR繼發(fā)NVI的分布特征及兩種造影方式的圖像特征,并分析NVI所占虹膜面積與糖尿病病程、眼壓及視力的相關(guān)性。
資料與方法
一、一般資料
收集2017年9月至2018年12月就診于北京同仁醫(yī)院眼科中心及首都醫(yī)科大學(xué)教學(xué)醫(yī)院石景山醫(yī)院眼科,并診斷為PDR繼發(fā)NVI32例(64只眼)患者的臨床資料進(jìn)行研究。其中,男性2例(4只眼),女性10例(20只眼);年齡32~79歲,平均年齡(55±13)歲。本研究經(jīng)首都醫(yī)科大學(xué)附屬石景山醫(yī)院倫理審查委員會(huì)批準(zhǔn),患者和家屬均簽署知情同意書。
二、納入與排除標(biāo)準(zhǔn)
1.納入標(biāo)準(zhǔn):(1)年齡32~79歲;(2)可耐受IFA和ICGA造影;(3)診斷為PDR可能伴有NVI者。
2.排除標(biāo)準(zhǔn):(1)對(duì)IFA和(或)ICGA造影劑過敏者;(2)患有嚴(yán)重心血管疾病者;(3)不能配合檢查者;(4)有嚴(yán)重認(rèn)知障礙者。
三、檢查項(xiàng)目與方法
1.視力與眼壓的檢查:采用國際標(biāo)準(zhǔn)對(duì)數(shù)視力表(日本Topcon株式會(huì)社生產(chǎn))檢查患者的視力;采用TX-20型非接觸眼壓計(jì)(日本Canon株式會(huì)社生產(chǎn))檢查患者的眼壓。
2.造影劑的注射:所有患者均經(jīng)過過敏預(yù)實(shí)驗(yàn)對(duì)藥物無過敏現(xiàn)象,血壓和脈搏均在參考范圍內(nèi)。通過肘靜脈注射熒光素鈉和吲哚菁綠各2.5ml的混合溶液(丹東醫(yī)藥創(chuàng)藥業(yè)有限公司生產(chǎn))。
3.虹膜造影檢查:采用Spectralis型激光共聚焦檢眼儀(德國海德堡公司生產(chǎn))對(duì)患者行IFA和ICGA檢查,采集患者虹膜血管造影圖像信息。
四、造影圖像的處理方法
1.圖像的預(yù)處理:原始造影圖像為RGB格式。采用Matlab 2016a圖像處理軟件(美國Math Works公司出品),首先將圖像轉(zhuǎn)換為灰度圖像,然后將同時(shí)采集的兩種不同造影圖像作為一組對(duì)照進(jìn)行后續(xù)虹膜區(qū)域提取及虹膜造影分割。見圖1。
2.造影圖像中虹膜區(qū)域的提取:由于圖像中存在眼瞼等其他結(jié)構(gòu),首先需要對(duì)虹膜區(qū)域進(jìn)行提取。采用活動(dòng)輪廓模型(Snake模型)對(duì)虹膜區(qū)域進(jìn)行分割。以此法首先將圖像的分割問題轉(zhuǎn)化為求解能量函數(shù)最小值的問題,然后通過不斷修正人機(jī)交互選取的初始虹膜輪廓曲線,計(jì)算曲線的能量函數(shù),在曲線能量函數(shù)達(dá)到最小時(shí)得到最終分割結(jié)果[8]。
3.造影區(qū)域的分割:熒光造影劑與虹膜背景具有良好的區(qū)分度,在已分割的虹膜圖像中,使用大津閾值算法(Otsu算法),將圖像分成造影區(qū)和背景兩個(gè)部分,進(jìn)而計(jì)算造影面積所占虹膜面積的比值[9]。為了防止計(jì)算面積比例可能存在較大誤差,均取同一時(shí)段采集的3張?jiān)煊皥D像計(jì)算均值。
4.造影圖像特征的采集及占比的計(jì)算:經(jīng)肘靜脈注射造影劑之后,開始采集造影前期不同時(shí)段的圖像。記錄隨著時(shí)間延續(xù)虹膜造影早期造影劑在虹膜內(nèi)顯影的圖像特征。采用Prism5軟件(美國Graph Pad Software公司出品)計(jì)算并繪制不同時(shí)刻造影劑在虹膜內(nèi)的占比圖。
五、統(tǒng)計(jì)學(xué)分析方法
采用SPS22.0統(tǒng)計(jì)學(xué)軟件處理數(shù)據(jù)。年齡、糖尿病病程、眼壓、視力及虹膜新生血管面積的比例,以均數(shù)±標(biāo)準(zhǔn)差進(jìn)行描述。虹膜新生血管面積的占比與糖尿病病程、眼壓及視力的相關(guān)性采用Spearman法進(jìn)行相關(guān)分析。以P<0.05為差異具有統(tǒng)計(jì)學(xué)意義。
結(jié)果
一、納入研究患者的檢查結(jié)果
共納入32例(64只眼)患者,視力范圍0.2~3.0,平均視力(1.5±1.2);眼壓范圍14~75mmHg(1mmHg=0.133kPa);平均眼壓(45±18)mmHg;糖尿病病程為5~30年,平均病程(17±7)年。IFA與IICGA同時(shí)診斷有NVI患者2例(38只眼)。其中,患者雙眼出現(xiàn)NVI者有16例(32只眼);患者單眼NVI者有6例(6只眼),無NVI的患者10例(20只眼)。兩種造影法診斷結(jié)果的符合率為100%。在IFA及IICGA中確診為NVI的2例(38只眼)患者中,虹膜有粘連者6例(10只眼),占26.3%;虹膜形態(tài)不規(guī)則者7例(12只眼),占31.6%;新生血管多出現(xiàn)在瞳孔緣附近9例(17只眼),占45%。IFA顯示NVI主要表現(xiàn)為虹膜表面新生血管熒光素滲漏,IICGA可顯示瞳孔緣細(xì)小的新生血管芽或新生血管網(wǎng)。新生血管網(wǎng),呈環(huán)形、團(tuán)狀、樹枝狀或網(wǎng)狀的形態(tài)特征。其中,NVI顯示在瞳孔緣者10例(17只眼);其范圍為1個(gè)象限者4例(5只眼),2個(gè)象限者2例(2只眼),3個(gè)象限者1例(1只眼),4個(gè)象限者8例(13只眼)。
二、造影圖像分割及定量分析的結(jié)果
IFA造影圖像分割及定量分析的結(jié)果,為NVI面積占比為41.7%;IICGA造影圖像分割及定量分析的結(jié)果,為虹膜新生血管面積占比為22.6%。從此結(jié)果可以看出,兩種造影法求出的虹膜新生血管面積占比相差近一倍。此外,IFA的造影圖像中,熒光素滲漏較為嚴(yán)重,因此,分割及定量分析得到的NVI面積存在較大的假陽性面積;而IICGA,因造影劑基本不出現(xiàn)滲漏,則可以清晰地顯示新生血管,故可更準(zhǔn)確地獲取NVI的面積。見圖2。
三、虹膜造影圖像的特征
虹膜血管造影早期,造影劑隨著時(shí)間的延續(xù)在虹膜內(nèi)顯影中可見。在造影前期圖像采集5s時(shí),IFA的造影劑開始在虹膜區(qū)域滲漏,見圖3A;此時(shí),IICGA造影劑尚未進(jìn)入虹膜顯影。10s時(shí),IFA造影劑滲漏已完全彌漫整個(gè)虹膜區(qū)域,見圖3B;此時(shí),IICGA造影劑開始部分進(jìn)入虹膜血管。15s時(shí),IFA造影劑迅速滲漏,整個(gè)虹膜背景可見均勻的高熒光,在瞳孔緣附近熒光顯示的更為強(qiáng)烈,無法正常顯示虹膜的血管形態(tài),見圖3C;此時(shí),ICGA開始在瞳孔緣及前房角附近顯現(xiàn)虹膜的一些血管形態(tài)。20s時(shí),IFA造影劑仍在虹膜血管中繼續(xù)滲漏彌漫,顯示出更強(qiáng)的熒光信號(hào),瞳孔緣附近強(qiáng)熒光的面積也在擴(kuò)大,見圖3D;此時(shí),IICGA造影劑在虹膜血管中已完全充盈,可以清晰地顯示血管的形態(tài)細(xì)節(jié)。隨著時(shí)間推移。25s時(shí),IFA造影劑滲漏形成的虹膜背景熒光開始逐漸被循環(huán)代謝掉,只在瞳孔緣附近還保持著異常的高熒光信號(hào)區(qū)域,見圖3E;此時(shí),IICGA的熒光信號(hào)也開始降低,依舊可以清晰地顯示新生血管區(qū)域的血管形態(tài)及瞳孔緣。相比于25s的圖像特點(diǎn),30s采集的圖像,基本沒有發(fā)生較大的改變,熒光信號(hào)趨于穩(wěn)定,緩慢降低,見圖3F。上述幾個(gè)時(shí)間段內(nèi)熒光區(qū)域的面積占比顯示,IFA的熒光面積開始就因造影劑滲漏出現(xiàn)較大的面積占比,此后隨著造影劑的代謝,造影面積趨于穩(wěn)定;IICGA的熒光面積始終保持著一個(gè)較為平穩(wěn)的水平。尤其在25s和30s時(shí)采集圖像熒光信號(hào)更加趨于穩(wěn)定。見圖3和圖4。
四、NVI面積占比與糖尿病病程、眼壓及視力相關(guān)分析的結(jié)果
NVI患者的NVI面積占比與眼壓呈正相關(guān),檢驗(yàn)結(jié)果具有統(tǒng)計(jì)學(xué)意義(r=0.567,P<0.05);NVI面積占比與糖尿病病程相關(guān)分析的檢驗(yàn)結(jié)果無統(tǒng)計(jì)學(xué)意義(r=-0.167,P>0.05);NVI面積占比與視力相關(guān)分析的檢驗(yàn)結(jié)果亦無統(tǒng)計(jì)學(xué)意義(r=0.15,P>0.05)。見圖5。
討論
NVI由于可以發(fā)展為或合并形成纖維血管膜,導(dǎo)致前房角關(guān)閉從而引發(fā)新生血管性青光眼。在美國的糖尿病患者中,僅有2.3%~2.5%的PDR患者發(fā)生NVI,而缺血型視網(wǎng)膜中央靜脈阻塞,NVI的發(fā)病率高達(dá)45%~80%[10]。在中國,每年也有大量患者由于NVI引起新生血管性青光眼,因眼壓難以控制導(dǎo)致患者失明甚至須行眼球摘除[11-13]。
一、NVI的病因及發(fā)病機(jī)制
NVI病因復(fù)雜多樣,多繼發(fā)于糖尿病性視網(wǎng)膜病變、視網(wǎng)膜中央靜脈阻塞及眼缺血綜合征等缺血性疾病[14-16]。其原因在于缺血缺氧誘導(dǎo)多種血管源性生長因子的產(chǎn)生和釋放,尤其是VEGF的上調(diào)。VEGF是具有促新生血管發(fā)生作用的多肽類生長因子。它可誘導(dǎo)血管內(nèi)皮細(xì)胞增殖和遷移,改變血管內(nèi)皮細(xì)胞表面黏附分子的表達(dá)促進(jìn)活性氧的產(chǎn)生,促使新生血管形成,導(dǎo)致血管的通透性增加[17]。大量動(dòng)物實(shí)驗(yàn)和臨床標(biāo)本檢測證實(shí),VEGF在新生血管性眼病的發(fā)生發(fā)展過程中起著重要作用[18-20]。NVI未能控制,可誘發(fā)新生血管性青光眼[21]。
二、NVI的檢查方法
在常規(guī)臨床檢查中,生長活躍的NVI很容易被發(fā)現(xiàn),然而早期的虹膜血管病變,尤其是在顏色較深的虹膜背景下不易被發(fā)現(xiàn)[22-24]。Rosario等[25]和何志勇等[26]均發(fā)現(xiàn)虹膜血管造影檢查可以比裂隙燈檢查更早期的發(fā)現(xiàn)NVI。虹膜血管造影檢查方法包括IFA和IICGA。NVI在IFA檢查中常表現(xiàn)為滲漏的血管叢,但在虹膜色素豐富或血管滲漏明顯時(shí),往往無法顯示虹膜血管的形態(tài)[27-29];而在ICGA檢查中不僅可以顯示虹膜血管的形態(tài),還可以很好地展現(xiàn)新生血管的細(xì)節(jié)。還有資料表明,吲哚菁綠的高蛋白結(jié)合率可減少滲漏的發(fā)生,有助于對(duì)虹膜新生血管面積的定量分析[30-32]。
三、NVI定量研究的意義及可行性
目前,臨床上尚缺乏對(duì)NVI定量分析的研究手段,加之新生血管受諸多因素影響,因此無法確切分析NVI的嚴(yán)重程度與哪些具體影響因素相關(guān)以及其病理相關(guān)關(guān)系。NVI的定量研究結(jié)果,可以幫助醫(yī)師更加直觀的了解疾病的發(fā)展程度與受相關(guān)因素影響的具體變化關(guān)系,指導(dǎo)臨床進(jìn)行個(gè)性化的治療,有助于阻止NVI繼續(xù)惡化向新生血管性青光眼方向發(fā)展,對(duì)于改善或保持患者視功能,降低患者的致盲率具有重要意義。本研究中引入活動(dòng)輪廓模型作為圖像處理算法,利用連續(xù)閉合的曲線表示要提取的目標(biāo)形態(tài),將圖像的分割問題轉(zhuǎn)化為求解能量函數(shù)的最小值,能夠有效地對(duì)虹膜區(qū)域進(jìn)行形態(tài)學(xué)提取。此外,因造影劑充盈區(qū)域與虹膜背景存在明顯的灰度差異,利用大津閾值算法對(duì)新生血管造影圖像可進(jìn)行分割,又因該分割方法不受圖像的亮度和對(duì)比度的影響,使NVI的定量分析成為可能。分割結(jié)果由臨床醫(yī)師評(píng)估得到認(rèn)可,顯示出較好的魯棒性和客觀性。本研究的結(jié)果表明,通過對(duì)前期虹膜造影圖像的分析,根據(jù)圖像質(zhì)量的熒光信號(hào)占比顯示,在前期圖像采集25~30s的造影圖像信號(hào)趨于穩(wěn)定,此時(shí)采集的圖像適宜于NVI的定量,信號(hào)干擾較小。
四、本研究的發(fā)現(xiàn)及局限性
已有文獻(xiàn)報(bào)道糖尿病性視網(wǎng)膜病變、視網(wǎng)膜中央靜脈阻塞等缺血缺氧性疾病產(chǎn)生VEGF彌散進(jìn)入前房,誘導(dǎo)虹膜表面出現(xiàn)新生血管,造成房水外流受阻導(dǎo)致眼內(nèi)壓升高[33-34]。本研究利用虹膜新生血管面積占比與糖尿病病程、眼壓及視力之間的相關(guān)性分析,發(fā)現(xiàn)NVI的嚴(yán)重程度與眼壓呈正相關(guān),理論上這符合預(yù)期,也與上述報(bào)道相符。此外,本研究中新生血管面積占比與糖尿病病程未展現(xiàn)相關(guān)性,推測其原因有二。其一,現(xiàn)有病例的病程為患者自述,且存在糖尿病確診延遲的可能;其二,本研究樣本量尚少,結(jié)果和結(jié)論存在一定的局限性,需要進(jìn)行更大樣本的研究驗(yàn)證。由于本研究病例均為PDR患者,其視力受糖尿病性黃斑水腫、牽拉性視網(wǎng)膜脫離、高眼壓等多重因素影響,NVI與視力相關(guān)的規(guī)律有待大樣本研究的進(jìn)一步證實(shí)[35]。
綜上所述,IFA及IICGA均能發(fā)現(xiàn)PDR患者中的NVI,兩種造影方式診斷結(jié)果符合率一致,且ICGA對(duì)于顯示新生血管細(xì)節(jié)及定量優(yōu)于IFA。NVI面積占比與患眼眼壓呈正相關(guān)。IICGA對(duì)于NVI早期診斷及定量研究具有重要價(jià)值,可能為PDR患者的臨床治療決策提供支持。