Đồ án Thiết kế mô phỏng phân tích máy điện tim

Bản đồ án này đã trình bày đầy đủ về cơ sở lý thuyết cũng như thiết kế dụng cụ tự động phân tích tín hiệu điện tim trên cơ sở DSP56002. Trong thời gian làm đồ án tôi đã hoàn thành được những công việc sau: ã Tìm hiểu về tín hiệu điện tim, các chuyển đạo và các tín hiệu bệnh phục vụ cho mục đích thiết kế dụng cụ tự động phân tích tín hiệu điện tim. ã Tìm hiểu về phương pháp nhận dạng tín hiệu điện tim và các thiết bị ghi điện tim đã được sử dụng trên thị trường ã Thiết kế và chế tạo dụng cụ tự động phân tích tín hiệu điện tim trên cơ sở sử dụng bộ vi xử lý tín hiệu số DSP56002 do hãng Motorola sản xuất có sẵn trong bộ môn, thực hiện thu thập tín hiệu bất bình thường khác. ã Thiết kế chế tạo được máy phát mô phỏng tín hiệu điện tim bình thường và một số loại bệnh. Các phần việc cần làm tiếp theo để hoàn thiện thiết bị như: nhận dạng,lập thư viện chuẩn và thử nghiệm trên người bệnh cần một thời gian nghiên cứu và thực nghiệm nhiều hơn. Trong thời gian tới, nếu có điều kiện tôi sẽ nghiên cứu để hoàn thiện và mở rộng một số tính năng của thiết bị. Với các ứng dụng của thiết bị này sẽ là tiền đề cho việc hướng tới chế tạo dụng cụ thực hiện hoàn toàn tự động quá trình phân tích và nhận dạng tín hiệu có thể làm việc với các tín hiệu ECG thực thu thập trên cơ sở người bệnh thay thế cho phương pháp Holter đang được sử dụng hiện nay. Các dụng cụ tự động này không chỉ được dùng trong lĩnh vực y tế, mà còn có thể mở rộng ứng dụng trong các lĩnh vực đo lường khác.

doc87 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2537 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế mô phỏng phân tích máy điện tim, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
mode ®ång bé ch©n nµy lµ cê nèi tiÕp SCI vµ ho¹t ®éng gièng nh­ SC0 ®· ®­îc m« t¶ ë trªn.Víi mode kh«ng ®ång bé ,ch©n nµy lµ ch©n vµo ra ®ång bé ho¸ bé nhËn. H­íng cña ch©n nµy ®­îc quyÕt ®Þnh bëi bit SCD1 trong thanh ghi CRB. +)Ch©n ®iÒu khiÓn nèi tiÕp SC2. Ch©n nµy ®­îc sö dông cho viÖc ®ång bé ho¸ vµo /ra.SC2 lµ ch©n ®ång bé ho¸ cho c¶ hai bé truyÒn vµ bé nhËn trong mode ®ång bé vµ chØ ®ång bé ho¸ cho bé phËn truyÒn trong mode kh«ng ®ång bé. H­íng cña ch©n nµy ®­îc quyÕt ®Þnh bëi bit SCD2 trong thanh ghi CRB. b) C¸c thanh ghi cña SSI. +) Thanh ghi ®iÒu khiÓn A (CRA) CRA lµ mét trong 2 thanh ghi 16 bit cña SSI ®­îc dïng ®Ó ®iÒu khiÓn ho¹t ®éng cña SSI. CRA ®iÒu khiÓn bé ph¸t xung nhÞp, ®é dµi cña tõ sè liÖu, sè tõ trong mét khung sè liÖu nèi tiÕp cña SSI. +) Thanh ghi ®iÒu khiÓn B (CRB) CRB ®iÒu khiÓn c¸c ch©n chøc n¨ng SC2, SC1, SC0 cña SSI, lµm cho c¸c ch©n nµy cã thÓ ®­îc sö dông nh­ c¸c ®Çu vµo hay ®Çu ra xung nhÞp, nh­ c¸c ch©n ®ång bé kho¸ khung sè liÖu hoÆc nh­ c¸c ch©n cê vµo ra nèi tiÕp. +) Thanh ghi tr¹ng th¸i cña SSI (SSISR) SSISR lµ mét thanh ghi tr¹ng th¸i 8 bit nµy chØ ®­îc ®äc, ®­îc sö dông bëi DSP ®Ó th¨m dß tr¹ng th¸i vµ c¸c cê vµo nèi tiÕp cña SSI. +) Thanh ghi dÞch nhËn cña SSI Thanh ghi dÞch nhËn 24 bit nµy nhËn sè liÖu tõ ch©n nhËn sè liÖu nèi tiÕp. Sè liÖu ®­îc dÞch vµo theo h­íng c¸c bit cã träng sè lín nhÊt tr­íc nÕu nh­ SHFD b»ng 0 hay theo h­íng c¸c bit cã träng sè nhá nÕu SHFD b»ng 1 sè liÖu chøa trong thanh ghi nµy ®­îc truyÒn tíi thanh ghi sè liÖu nhËn sau khi 8, 12, 16, 24 bit võa ®­îc dÞch vµo, phô thuéc vµo c¸c bit ®iÒu khiÓn ®é dµi trong thanh ghi CRA. +) Thanh ghi sè liÖu nhËn cña SSI (RX) RX lµ mét thanh ghi 24 bit chØ ®­îc ®äc. Nã nhËn sè liÖu tõ thanh ghi dÞch nhËn. DSP sÏ bÞ ng¾t bÊt cø khi nµo RD ®Çy nÕu nh­ c¸c ng¾t t­¬ng øng ®­îc cho phÐp. +) Thanh ghi dÞch truyÒn cña SSI Thanh ghi dÞch truyÒn 24 bit nµy chøa sè liÖu ®ang ®­îc truyÒn ®i. Sè liÖu ®­îc dÞch ra ngoµi tíi ch©n truyÒn sè liÖu nèi tiÕp. Sè liÖu c¸c bit ®­îc dÞch ra ngoµi cã thÓ lµ 8, 12, 16, 24 bit. Sè liÖu ®­îc dÞch ra theo h­íng c¸c bit cã träng sè lín tr­íc nÕu nh­ SHFD b»ng 0 hayc¸c bit cã träng sè nhá tr­íc nÕu SHFD b»ng 1. +) Thanh ghi sè liÖu truyÒn cña SSI (TX) Tx lµ mét thanh ghi 24 bit chØ viÕt. Khi cÇn truyÒn sè liÖu th× ng­êi lËp tr×nh viÕt sè liÖu vµo trong thanh ghi nµy sau ®ã sè liÖu tù ®éng truyÒn tíi thanh ghi dÞch truyÒn. DSP bÞ ng¾t bÊt cø khi nµo thanh ghi TX trèng rçng nÕu nh­ ng¾t t­¬ng øng ®­îc cho phÐp. 2. Bé timer vµ ®Õm sù kiÖn cña DSP56002 KÓ tõ Version thø hai c¸c bé phËn DSP56002 cã thªm bé timer vµ bé ®Õm sù kiÖn. Bé timer cã thÓ sö dông xung nhÞp bªn trong hay bªn ngoµi vµ cã thÓ lµm ng¾t bé xö lý sau khi cã mét sè l­îng nhÊt ®Þnh c¸c sù kiÖn bªn ngoµi hay cã thÓ göi tÝn hiÖu tíi mét thiÕt bÞ bªn ngoµi sau khi ®Õm c¸c sù kiÖn bªn trong. Bé timer nèi tíi c¸c thiÕt bÞ bªn ngoµi qua hai ch©n hai chiÒu do TIO. Khi TIO lµ mét ®Çu vµo th× chøc n¨ng ®Õm c¸c sù kiÖn bªn ngoµi ®­îc sö dông. Khi TIO lµ mét ®Çu ra th× nã cã t¸c dông ®­a tÝn hiÖu ra bªn ngoµi sau nh÷ng kho¶ng thêi gian nhÊt ®Þnh. Khi kh«ng ®­îc sö dông cho bé timer th× TIO cã thÓ ®­îc sö dông nh­ mét ch©n vµo/ra môc ®Ých chung. +) CÊu tróc bé timer vµ ®Õm sù kiÖn H×nh (2-3) lµ s¬ ®å khèi cña timer vµ ®Õm sù kiÖn. Nã bao gåm mét thanh ghi ®iÒu khiÓn/ tr¹ng th¸i 24 bit cã thÓ ®äc/viÕt (TDSR), mét thanh ghi ®Õm (TCR) 24 bit ®äc/viÕt, mét bé ®Õm 24 bit vµ mét m¹ch l«gic cho viÖc ph¸t sinh ng¾t vµ lùa chän xung nhÞp. +) Thanh ghi ®Õm (TCR) cña timer Thanh ghi TSR chøa gi¸ trÞ (®­îc x¸c ®Þnh bëi ch­¬ng tr×nh cña ng­êi sö dông) ®­îc n¹p vµo bé ®Õm khi bé timer ®­îc phÐp ho¹t ®éng (TE=1) hoÆc khi bé ®Õm võa gi¶m ®Õn 0 vµ mét sù kiÖn míi xuÊt hiÖn. NÕu TCR ®­îc n¹p víi gi¸ trÞ n bé ®Õm sÏ ®­îc n¹p l¹i sau (n+1) sù kiÖn. NÕu bé timer bÞ cÊm ho¹t ®éng (TE=0) vµ ch­¬ng tr×nh viÕt lªn TCR th× gi¸ trÞ viÕt lªn TCR vÉn ®­îc gi÷ ë ®ã nh­ng kh«ng xuÊt hiÖn ®­îc n¹p vµo bé ®Öm cho ®Õn khi bé timer ®­îc phÐp ho¹t ®éng. +) Thanh th¸i (TCSR) cña timer. Thanh ghi TCSR dïng ®Ó ®iÒu khiÓn bé timer ®ång thêi ghi l¹i tr¹ng th¸i cña nã. Sau ®©y m« t¶ tõng bit cô thÓ cña thanh ghi nµy. 24 Thanh ghi ®iÒu khiÓn/ tr¹ng th¸i 24 bit (TCSR) Thanh ghi ®Õm 24 bit (TCSR) Bé ®Õm 24 bit Lùa chän xung nhÞp Bé ng¾t thêi gian CLK/2 TIO H×nh 2-3. S¬ ®å khèi bé Timer vµ ®Õm sù kiÖn 24 24 24 3 Bit 0 (TE) cña TCSR gäi lµ bit cho phÐp timer ho¹t ®éng. Khi ta ®Æt TE=1 th× bé timer ®­îc phÐp ho¹t ®éng vµ ®­îc n¹p víi gi¸ trÞ chøa trong thanh ghi. Khi xo¸ bit TE th× bé timer kh«ng ho¹t ®éng. ViÖc reset phÇn cøng hay phÇn mÒm sÏ xo¸ bit TE. Bit 1 (TIE) cña TCSR gäi lµ cho phÐp ng¾t timer. Khi TIE=1 th× c¸c ng¾t timer sÏ xuÊt hiÖn sau khi bé ®Õm gi¶m xuèng tíi 0 vµ mét sù kiÖn míi xuÊt hiÖn. Khi TIE =0 th× ng¾t timer bÞ cÊm. ViÖc reset phÇn cøng hay phÇn mÒm sÏ xo¸ TIE. 3. Giíi thiÖu vÒ tËp lÖnh vµ c¸c tr¹ng th¸i cña bé vi xö lý DSP 56002 3.1 Qu¸ tr×nh thùc hiÖn: Qu¸ tr×nh thùc hiÖn th«ng tin cña DSP 56002qua 3 giai ®o¹n pipeline cho phÐp thùc hiÖn trong mét chu kú lÖnh. §­îc thùc hiÖn b»ng ng«n ng÷ assembler hoÆc c¸c ng«n ng÷ bËc cao kh¸c nh­ng yªu cÇu ph¶i cã ch­¬ng tr×nh dÞch. Chu kú lÖnh Ho¹t ®éng 1 2 3 4 5 6 7 T×m lÖnh F1 F2 F3 F3e F4 F5 F6 Gi¶i m· D1 D2 D3 D3e D4 D5 Thùc hiÖn E1 E2 E3 E3e E4 B¶ng 2 – 4. Qu¸ tr×nh thùc hiÖn cña cÊu tróc pipeline nh­ b¶ng trªn. §Çu tiªn lµ t×m lÖnh sau ®ã lµ gi¶i m· lÖnh vµ cuèi cïng lµ thùc hiÖn lÖnh. Qu¸ tr×nh thùc hiÖn lÇn l­ît gèi ®Çu lªn nhau. ChÕ ®é ch­¬ng tr×nh chØ ra ë h×nh 2 - 4 cña bé VXL DSP 56002 bao gåm 3 khèi chøc n¨ng ho¹t ®éng song song ®ã lµ khèi sè häc vµ logic (ALU), khèi ph¸t ®Þa chØ ch­¬ng tr×nh (AGU) vµ khèi ®iÒu khiÓn ch­¬ng tr×nh (CPU). §¬n vÞ logic vµ sè häc (Data ALU) c¸c thanh ghi d÷ liÖu vµo 47 X 0 47 Y 0 X1 X0 Y1 Y0 23 0 23 0 23 0 23 0 c¸c thanh chøa accummulator A B 55 0 55 0 * A2 A1 A0 * B2 B1 B0 23 8 7 0 23 0 23 0 23 8 7 0 23 0 23 0 Khèi ph¸t ®Þa chØ ch­¬ng tr×nh (AGU) 23 16 15 0 23 16 15 0 23 16 15 0 * R7 * N7 * M7 * R6 * N6 * M6 * R5 * N5 * M5 * R4 * N4 * M4 * R3 * N3 * M3 * R2 * N2 * M2 * R1 * N1 * M1 C¸c thanh ghi C¸c thanh ghi C¸c thanh ghi ®Þa chØ con chá ®Þa chØ offset modifer Khèi ®iÒu khiÓn ch­¬ng tr×nh(PCU) Thanh ghi lÆp ®Þa chØ(LA) Thanh ghi ®Õm lÆp(LC) 23 16 15 0 23 16 15 0 * * §Õm ch/tr×nh(PC) T/ghi tr¹ng th¸i(SR) T/ghi chÕ ®é ho¹t ®éng(OMR) 23 16 15 0 23 6 15 8 7 0 23 8 7 6 5 4 3 2 1 0 * * * * * MB MA 32 SSH 16 15 SSL 0 23 16 15 0 0 15 * Stack pointer(SP) HÖ thèng stack H×nh 2-4. CÊu tróc cña chÕ ®é ch­¬ng tr×nh cña DSP 56002 3.2 CÊu tróc hÖ lÖnh cña DSP 560002. §Æc tÝnh cña hÖ lÖnh theo kiÓu Mnemonic (Gîi nhí) nh­ Wait ,Stop vv.. Có ph¸p lÖnh cña DSP ®­îc chia thµnh 4 phÇn LÖnh ph¶i ®­îc thùc hiÖn tõ tr¸i sang ph¶i trong cïng mét chu kú lÖnh. Mét sè ®Æc ®iÓm cña DSP lµ cho phÐp thùc hiÖn c¸c dÞch chuyÓn song song nh­ng ph¶i theo nguyªn t¾c dÞch chuyÓn song song lµ cã thÓ chung nguån nh­ng kh«ng chung ®iÓm tíi. TËp lÖnh cña DSP gåm 62 lÖnh chia thµnh 6 nhãm : + Nhãm lÖnh sè häc: ADD,ABS,ADC.. + Nhãm lÖnh dÞch chuyÓn: MOVE,MOVEP,LUA.. + Nhãm lÖnh logic :ANDI,EOR,NOT.. + Nhãm lÖnh vßng lÆp: DO,REPEAT.. + Nhãm t¸c ®éng ®Õn tõng bit :BSET,BCLEAR.. + Nhãm lÖnh ®iÒu khiÓn ch­¬ng tr×nh: DEBUG,JMP.. II. Giíi thiÖu cÊu tróc phÇn cøng cña Card DSP 56002EVM : CÊu tróc phÇn cøng bao gåm: Card DSP 56002EVM ®­îc ghÐp nèi víi m¸y tÝnh th«ng qua cæng RS232. TÝn hiÖu t­¬ng tù ®­îc ®­a vµo qua hai bé biÕn ®æi A/D ®Ó biÕn tÝn hiÖu ë d¹ng sè, sau ®ã ®­a vµo DSP nhê cæng truyÒn tin nèi tiÕp SSI ®Ó xö lý. Sau khi xö lý tÝn hiÖu, bé vi xö lý DSP56002 sÏ ®­a tÝn hiÖu ra cæng SSI ®Õn bé biÕn ®æi D/A ®Ó biÕn thµnh tÝn hiÖu t­¬ng tù ë ®Çu ra hÖ thèng. 2.1. Card DSP 56002EVM Card DSP56002EVM lµ mét hÖ thèng xö lý tÝn hiÖu hoµn chØnh.(H×nh 2-5) 2.2.1. CÊu t¹o gåm: - Mét bé vi xö lý DSP56002. - Mét bé nhí Ram më réng. - Mét bé m· ho¸ vµ gi¶i tÝn hiÖu CS4215 (codec) cã chøa hai bé biÕn ®æi t­¬ng tù sè (D/A) vµ hai bé biÕn ®æi tu¬ng tù (D/A). - Trªn card cã mét vÞ trÝ dµnh cho bé nhí EFPROM cña ng­êi sö dông. - ViÖc ghÐp nèi gi÷a m¸y tÝnh vµ card DSP56002EVM ®­îc thùc hiÖn th«ng qua cæng RS232. - Trong ®ã ta thÊy c¸c bus ®Þa chØ vµ d÷ liÖu cæng A cña DSP56002 ®­îc nèi th«ng qua J2 vµ J4 ®Ó më réng bé nhí víi bé nhí RAM bªn ngoµi (FSRAM 32*8). TÝn hiÖu ®Ó chän mét bé nhí hay c¶ ba lµ ®­îc quyÕt ®Þnh bëi tæ hîp tÝn hiÖu WR, RD vµ DAB15. Ngoµi ra trªn card còng cã vÞ trÝ cho EFPROM cña ng­êi sö dông ®Ó n¹p ch­¬ng tr×nh tõ bé nhí EFPROM nÕu muèn. - C¸c ch©n NMI, IRQA, IRQB cña DSP ®­îc nèi th«ng qua bé chuyÓn m¹ch 74HC157AD ®Ó ®iÒu khiÓn c¸c ng¾t tõ bªn ngoµi t¸c ®éng vµo hay thiÕt lËp c¸c qu¸ tr×nh ®îi cña DSP. - C¸c bus ®iÒu khiÓn cña cæng A ®­îc nèi th«ng qua J11 (Bus-control) ®Ó ®èi tho¹i víi c¸c thiÕt bÞ bªn ngoµi. - 15 ch©n cña cæng B ®­îc nèi th«ng qua J7 ®Ó cho phÐp thiÕt bÞ ngo¹i vi ®èi tho¹i víi DSP. - 9 ch©n cña cæng C ®­îc nèi th«ng qua J10 (Port C) cho phÐp sö dông cho vµo ra môc ®Ých chung hoÆc giao dÞch nèi tiÕp ®ång bé hay kh«ng ®ång bé. C¸c ch©n nµy ®­îc sö dông ®Ó ®IÒu khiÓn thiÕt bÞ bªn ngoµi nh­ Codec, c¸c bé biÕn ®æi ADC vµ DAC. C¸c ch©n TX, RX cña SCI ®­îc nèi víi bé biÕn ®æi ®IÖn ¸p MAX232CSE ®Ó biÕn ®æi tÝn hiÖu t­¬ng tù tõ 5V ®Õn 12V cung cÊp cho RS232 th«ng qua J8 (DCE/DTE) tíi OnCE vµ Terminal. - Nguån cung cÊp cho card EVM56002 ®­îc lÊy tõ nguån ®iÖn 220V AC qua J1 (Power connector) tíi cuén biÕn ¸p thµnh 7-9V AC hoÆc DC vµ ®­îc ®­a qua bé chØnh l­u cÇu ®­a tíi bé biÕn ®æi ®iÖn ¸p MC7805 ®Ó biÕn ®æi thµnh ®iÖn ¸p 5V cung cÊp cho DSP56002 vµ CS4215. 2.2.2. Vi m¹ch m· ho¸ vµ gi¶i m· 4215 CS4215 lµ mét chÝp ®¬n, CMOS cã hai kªnh biÕn ®æi A/D 16 bit vµ hai kªnh biÕn ®æi D/A 16 bit. CS4215 cã c¸c ®Æc tÝnh sau ®©y: MUSIC source J2 J10 J11 J13 J12 J7 DSP 56002 OUT HDPHNE IN 32K*8 FSRAM 32K*8 FSRAM 32K*8 FSRAM J4 Dµnh cho EFPROM CS4215 HEADPHONES J17 LINE LEVEl OUTPUT HOST OnCE Reset * §­îc nèi víi cæng nèi tiÕp cña PC H×nh 2-5. S¬ ®å cÊu tróc card DSP TÇn sè lÊy mÉu tõ 4khz ®Õn 50khz –M· ho¸ tÝn hiÖu 16 bit hay 8 bit. Cã hÖ sè khuÕch ®¹i cho tÝn hiÖu vµo t­¬ng tù cã thÓ lËp tr×nh ®­îc. Cã c¸c bé t¹o xung nhÞp ë trªn chÝp. Nguån cung cÊp 5V. Cã c¸c bé läc trªn chÝp Giao diÖn sè nèi tiÕp. Cæng SSI cña DSP 56002 ®­îc sö dông ®Ó truyÒn sè liÖu tõ hai bé biÕn ®æi A/D tíi DSP 56002 vµ tõ DSP 56002 tíi hai bé biÕn ®æi D/A. H×nh 1 d­íi ®©y m« t¶ c¸ch nèi CS4215 víi cæng C cña DSP 56002. SRD/PC7 SCI/PC4 STD/PC8 SC2/PC5 SCK/PC6 SCLK/PC2 SDOUT RESET SDIN FSYNC TSIN SCLK D/C H×nh 2 - 6. Nèi gi÷a cæng C cña DSP 56002 víi CS4215 2.2.3. ChÕ ®é ®iÒu khiÓn cña CS4215 ChÕ ®é ®iÒu khiÓn: §­îc sö dông ®Ó chän c¸c chøc n¨ng cña CS4215 b»ng c¸ch n¹p vµo c¸c thanh ghi ®iÒu khiÓn cña CS4215 c ¸c gi¸ trÞ thÝch hîp. §Ó cho CS4215 lµm viÖc ë chÕ ®é ®iÒu khiÓn ta cÇn ®Æt ch©n D/C ë møc thÊp, khi ®ã th«ng tin trªn c¸c ch©n SDIN vµ SDOUT cña CS4215 lµ th«ng tin dïng ®Ó ®iÒu khiÓn CS4215. Cã 8 thanh ghi ®iÒu khiÓn trong ®ã cã hai thanh ghi ch­a dïng ®Õn ,cßn l¹i 6 thanh ghi lµ: Thanh ghi tr¹ng th¸i ,thanh ghi ®Þnh d¹ng sè liÖu ,thanh ghi ®iÒu khiÓn cæng nèi tiÕp ,thanh ghi kiÓm tra ,thanh ghi ®iÒu khiÓn cæng song song vµ thanh ghi version cña CS4215. Trong phÇn nµy em kh«ng ®i s©u giíi thiÖu tõng bit cña tõng thanh ghi cña CS4215 mµ em chØ muèn giíi thiÖu vÒ tõng thanh ghi vµ chøc n¨ng cña chóng. Thanh ghi tr¹ng th¸i : §©y lµ thanh ghi 8 bit cã chøc n¨ng n¾m gi÷ quyÒn ®iÒu khiÓn chuyÓn ®æi gi÷a chÕ ®é ®iÒu khiÓn vµ chÕ ®é truyÒn sè liÖu. Cho phÐp hoÆc kh«ng cho phÐp khuyÕch ®¹i vµ qui ®Þnh møc tÝn hiÖu ®Çu ra headphone vµ speaker. Thanh ghi ®Þnh d¹ng sè liÖu : Lµ thanh ghi 8 bit cã chøc n¨ng lùa chän d¹ng sè liÖu ,tÇn sè lÊy mÉu tÝn hiÖu ,cho phÐp hoÆc kh«ng cho phÐp sö dông bé läc th«ng cao ®Ó gi¶m nhiÔu vµ lùa chän chÕ ®é mono,stereo. Thanh ghi ®iÒu khiÓn cæng nèi tiÕp : Cã chøc n¨ng cho phÐp hoÆc kh«ng ®­a ra sè liÖu nèi tiÕp ,lùa chän sè bit t­¬ng øng trong mét khung sè liÖu vµ lùa chän nguån xung nhÞp ,chÕ ®é master hoÆc slave ,cho ta biÕt tr¹ng th¸i cña SCLK vµ FSYNC. Thanh ghi kiÓm tra: Quy ®Þnh chøc n¨ng thùc hiÖn quay vßng sè – sè hoÆc quay vßng sè – t­¬ng tù – sè. Cho phÐp hoÆc kh«ng kiÓm tra vßng quay. C¸c bÝt kiÓm tra ph¶i ®­îc viÕt b»ng 0. Thanh ghi ®iÒu khiÓn cæng song song: Cã chøc n¨ng thùc hiÖn ®iÒu khiÓn vµo/ra song song. C¸c bit dù tr÷ cßn l¹i ph¶i ®­îc viÕt b»ng 0. Thanh ghi version: Quy ®Þnh chøc n¨ng lùa chän sè version cña CS4215 lµ “C”,”D”, hoÆc “E”. Ngoµi ra cßn 2 thanh ghi dù tr÷ 1 vµ 2 ; Khi ch­a sö dông th× c¸c bit cña c¸c thanh ghi nµy ph¶i ®­îc viÕt b»ng 0. ChÕ ®é truyÒn sè liÖu : ChÕ ®é truyÒn sè liÖu ®­îc sö dông trong suèt qu¸ tr×nh truyÒn sè liÖu gi÷a CS4215 vµ DSP56002. ViÖc ®iÒu khiÓn hÖ sè khuyÕch ®¹i, hÖ sè suy gi¶m, viÖc lùa chän ®Çu vµo còng ®­îc chøa trong c¸c dßng sè liÖu. C¸c bit cã träng sè lín nhÊt (MSB) ®­îc truyÒn hay nhËn tr­íc tiªn. T¸m thanh ghi sè liÖu lµ: 8 bit träng sè lín nhÊt cña kªnh tr¸i, 8 bit träng sè nhá nhÊt cña kªnh tr¸i, 8 bit cã träng sè lín nhÊt cña kªnh ph¶i, 8 bit cã träng sè nhá nhÊt cña kªnh ph¶i, 2 thanh ghi ®Ó ®Æt chÕ ®é cho ®Çu ra, 2 thanh ghi ®Ó ®Æt chÕ ®é cho ®Çu vµo. Thanh ghi ®Æt chÕ ®é cho ®Çu ra 1: Cã chøc n¨ng ®Æt ®é suy gi¶m ë ®Çu ra kªnh tr¸i, cho phÐp hoÆc kh«ng cho phÐp ®­a ra tÝn hiÖu t­¬ng tù, vµ ®Çu ra headphone. Thanh ghi ®Æt chÕ ®é ®Çu ra 2 : Cã chøc n¨ng ®Æt ®é suy gi¶m ®Çu ra kªnh ph¶i, cho phÐp hoÆc kh«ng cho phÐp speaker vµ d÷ liÖu A/D. Thanh ghi ®Æt chÕ ®é ®Çu vµo 1: Cã chøc n¨ng ®Æt hÖ sè khuyÕch ®¹i ë ®Çu ra kªnh tr¸i ,lùa chän ®Çu vµo, th«ng b¸o tÝn hiÖu qu¸ møc vµ løa chän vµo ra song song. Thanh ghi ®Æt chÕ ®é ®Çu vµo 2: Cã chøc n¨ng ®Æt hÖ sè khuyÕch ®¹i ®Çu ra kªnh ph¶i, ®Æt hÕ sè suy gi¶m tÝn hiÖu ®­a ra quan s¸t. Ch­¬ng II: THIÕT KÕ TÝNH TO¸N THIÕT BÞ I) Yªu cÇu kÜ thuËt : V× tÝn hiÖu vµo nhá nªn m¸y ph¶i cã hÖ sè khuÕch ®¹i lín. Trë kh¸ng vµo lín ®Ó phèi hîp trë kh¸ng gi÷a ®Çu vµo m¹ch khuÕch ®¹i víi nguån tÝn hiÖu ®¶m b¶o lÊy ra ®­îc ®iÖn ¸p ®ñ lín mµ kh«ng bÞ ¶nh h­ëng cña sù thay ®æi bªn ngoµi nh­ do c¸c bÖnh nh©n kh¸c nhau, do tiÕp xóc cña c¸c ®iÖn cùc... §é mÐo cña thiÕt bÞ nhá, ®Ó tÝn hiÖu thu ®­îc chÝnh x¸c phôc vô tèt cho viÖc chuÈn ®o¸n bÖnh Kh¶ n¨ng chèng nhiÔu tèt: ©m tÇn cña nguån ®iÖn l­íi c«ng nghiÖp, nhiÔu ®ång pha. Cã ®é æn ®Þnh cao vµ läc nhiÔu tèt ®Ó ph¶n ¸nh ®­îc trung thùc tÝn hiÖu ®iÖn tim Cã ®é c¸ch ®iÖn tèt ®Ó ®¶m b¶o an toµn cho ng­êi vµ m¸y. II) S¬ ®å khèi cña thiÕt bÞ: Dùa trªn chøc n¨ng cña hÖ thèng, øng dông PC vµ DSP vµo qu¸ tr×nh xö lý tÝn hiÖu, t«i ®· ®­a ra ®­îc m« h×nh cña hÖ thèng cã s¬ ®å khèi ®­îc m« t¶ trªn h×nh 1 Card EVM 56002 M¸y ph¸t m« pháng tÝn hiÖu ®iÖn tim PC DSP CODER A/D H×nh 1: M« h×nh cÊu tróc thiÕt bÞ ph¸t vµ xö lÝ tÝn hiÖu ®iÖn tim. TÝn hiÖu ®iÖn tim ®­îc ph¸t ra tõ m¸y ph¸t tÝn hiÖu d­íi d¹ng tÝn hiÖu t­¬ng tù (gi¸ trÞ ®iÖn ¸p). Gi¸ trÞ ®iÖn ¸p nµy ®­îc ®­a qua CS4215 chuyÓn thµnh tÝn hiÖu sè vµ ®­îc ®­a vµo DSP. DSP lµm nhiÖm vô thu thËp tÝn hiÖu, tÝnh to¸n gi¸ trÞ tÇn sè cña tÝn hiÖu vµ truyÒn sè liÖu lªn PC. DSP ®­îc qu¶n lý b»ng phÇn mÒm EVM th«ng qua Card EVM56002. PC thu tÝn hiÖu vµ hiÓn thÞ kÕt qu¶ cuèi cïng. 2.1 Tr×nh bµy vÒ chøc n¨ng cña c¸c phÇn tö trong hÖ thèng : 2.1.1. M¸y ph¸t m« pháng ®iÖn tim vµ c¸c tÝn hiÖu bÖnh. Trong thêi gian lµm ®å ¸n t«i cã tiÕn hµnh l¾p m¸y ph¸t m« pháng tÝn hiÖu ®iÖn tim (®å m¹ch nguyªn lÝ h×nh2). ViÖc ph¸t ra c¸c tÝn hiÖu ®­îc lµm trªn c¸c m¹ch tÝch ph©n logic kinh ®iÓn. M¹ch gåm 2 vi m¹ch chÝnh lµ hai bé ®Õm IC4520 vµ IC4017. IC4520 lµ mét bé ®Õm nhÞ ph©n ®ång bé, trong cã chøa hai bé ®Õm chia 16 vµ cã m· ®Çu ra lµ BCD 8421 ®éc lËp víi nhau. ChØ ®Õm lªn, kh«ng ®Æt tr­íc (preset) ®­îc. TÇn sè xung nhÞp cùc ®¹i lµ 6 MHz khi nguån cung cÊp lµ 10V vµ lµ 2.5 MHz khi nguån cung cÊp 5V. Thêi gian s­ên xung lªn vµ xuèng cña c¸c xung CL vµ EN kh«ng ®­îc lín h¬n 10ms. IC4017 lµ mét bé ®Õm thËp ph©n cã 10 ®Çu ra. M¹ch sö dông IC4520 vµ vi m¹ch 4081 ®Ó t¹o ra mét bé chia 256 cho ra tÝn hiÖu xung vu«ng ë tÇn sè 16 Hz t¹i ®Çu ra ch©n 14.TÝn hiÖu nµy ®­îc ®­a qua mét bé ®Õm 4520 n÷a ®Ó chia ra thµnh tÝn hiÖu 2Hz hoÆc 1Hz lÊy ë hai ch©n ®Çu ra lµ ch©n 5 hoÆc 6 cña vi m¹ch 4520 thø hai. TÝn hiÖu 16 Hz ®­îc ®­a vµo lµm ®ång hå cho IC3, nã lµ mét bé ®Õm thËp ph©n cã 10 ®Çu ra. TÝn hiÖu thø hai sinh ra tõ m¹ch tÝch ph©n C3/R3 ®­îc ®­a vµo tõ ch©n 15 cña bé ®Õm IC3, xung nµy ®­îc hiÓu nh­ lµ tÝn hiÖu reset cho IC3 Diot D2 cã nhiÖm vô chØ cho phÐp chiÒu d­¬ng cña tÝn hiÖu ®i qua. Bé ®Õm thËp ph©n dõng l¹i ë gi¸ trÞ 9, gi¸ trÞ nã chuyÓn qua (cã thÓ thÊy ë ch©n 11 ®­îc nèi víi ®Çu vµo cña ch©n Enable(13)) cho ®Õn khi xung lµ 0. VÞ trÝ cña ng¾t kh«ng cho qua trong thêi gian nghØ U, nã kho¶ng 60- 120 xung mét phót, m¹ch tÝch ph©n R6/C4 chuyÓn xung ®Çu tiªn (ch©n 2) thµnh phÇn P. Gi¸ trÞ cña sè liÖu ë ®iÖn trë R6 ®­îc tÝch vµo tô C4 ®Ó phãng ra møc ®iÖn ¸p kho¶ng 1V. PhÇn sãng T ®­îc sinh ra nhê m¹ch tÝch ph©n thø hai R7/C4, ®iÖn trë R7 cã gi¸ trÞ b»ng mét nöa ®iÖn trë R6 do ®ã xung ra trªn Q6 vµo tô C4 cã gi¸ trÞ lín gÊp 2 lÇn (2.2 V) gi¸ trÞ xung ra trªn Q1 vµo tô C4. Sai lÖch C5/R10 t¹o ra thµnh phÇn R.§iÖn trë R8 lµm nhiÖm vô giíi h¹n dßng lín vµ m¹ch th¼ng cho tô C5, Diot D5 chØ cho phÐp xung d­¬ng ®i qua do ®ã cã gi¸ trÞ ®Þnh lµ 3.8 V. Cßn Diode D4 chØ cho xung d­¬ng ®i qua, Sö dông phÇn ng­îc kh«ng lín h¬n 0.7V do ®ã ta cã ®­îc thµnh phÇn S. §Ìn LED 3 qua diode D3 ph¸t s¸ng khi cã ®o¹n R. C¸c tÝn hiÖu lÊp ®Çy theo hai m¹ch tÝch ph©n vµ c¸c ph©n nh¸nh theo c¸c ®iÖn trë R11,R12 ®­îc céng thªm vµo tô C7, céng tÊt c¶ c¸c phÇn cña xung vµ ®­îc ph©n chia thµnh tÝn hiÖu 1mV ®Ó nèi víi mét ECG vµ mét tÝn hiÖu 1V ®­a ra khuyÕch ®¹i. M¹ch ®· ph¸t ®­îc tÝn hiÖu cã d¹ng ®iÖn tim ®å b×nh th­êng vµ hai tÝn bÖnh: d¹ng bÖnh rung thÊt, d¹ng bÖnh thÊp tim. Nguån cung cÊp cho m¹ch lµ nguån 9V vµ gi¸ trÞ cña dßng trong m¹ch lµ 6 mA. H×nh 2: S¬ ®å m¹ch m¸y ph¸t tÝn hiÖu ®iÖn tim 2.1.2. Card EVM56002 CS4215: CS4215 lµ mét chip ®¬n, CMOS, cã hai kªnh biÕn ®æi A/D 16 bit vµ hai kªnh biÕn ®æi D/A 16 bit. CS4215 cã ®Æc tÝnh sau ®©y: TÇn sè lÊy mÉu tõ 4khz ®Õn 50khz –M· ho¸ tÝn hiÖu 16 bit hay 8 bit. Cã hÖ sè khuÕch ®¹i cho tÝn hiÖu vµo t­¬ng tù cã thÓ lËp tr×nh ®­îc. Cã c¸c bé t¹o xung nhÞp ë trªn chÝp. Nguån cung cÊp 5V. Cã c¸c bé läc trªn chÝp Giao diÖn sè nèi tiÕp. Cæng SSI cña DSP 56002 ®­îc sö dông ®Ó truyÒn sè liÖu tõ hai bé biÕn ®æi A/D tíi DSP 56002 vµ tõ DSP 56002 tíi hai bé biÕn ®æi D/A. H×nh3 d­íi ®©y m« t¶ c¸ch nèi CS4215 víi cæng C cña DSP 56002. SRD/PC7 SCI/PC4 STD/PC8 SC2/PC5 SCK/PC6 SCLK/PC2 SDOUT RESET SDIN FSYNC TSIN SCLK D/C H×nh 3: Nèi gi÷a cæng C cña DSP 56002 víi CS4215 Trong s¬ ®å trªn CS4215 ®­îc sö dông ®Ó chuyÓn tÝn hiÖu tõ t­¬ng tù sang sè, quy ®Þnh tÇn sè lÊy mÉu cña tÝn hiÖu vµ quyÕt ®Þnh khung truyÒn sè liÖu. §Ó thùc hiÖn ®­îc c¸c c«ng viÖc trªn CS4215 sö dông c¸c thanh ghi vµ c¸c bit ®· ®­îc m« t¶ ë ch­¬ng 2. DSP 56002 Víi c¸c bé nhí sè liÖu 24 bit X1, Y1 vµ X0, Y0, DSP thùc hiÖn c¸c c«ng viÖc sau : · Thu thËp tÝn hiÖu ®­îc ph¸t ra tõ m¸y ph¸t tÝn hiÖu. · TÝnh to¸n tÇn sè lín nhÊt cña tÝn hiÖu. · NhËn d¹ng tÝn hiÖu thu thËp vµ l­u gi÷ c¸c sè liÖu t¹i c¸c vïng nhí. · So s¸nh tÝn hiÖu nhËn ®­îc víi th­ viÖn tÝn hiÖu ®iÖn tim chuÈn · L­u gi÷ c¸c tÝn hiÖu bÊt b×nh th­êng vµ hiÓn thÞ kÕt qu¶ trªn m¸y tÝnh. §Ó ®¶m b¶o cho DSP lµm viÖc chÝnh x¸c cÇn quan t©m tíi c¸c vïng nhí cña DSP ®­îc sö dông, tr¸nh tr­êng hîp bÞ lÉn sè liÖu do ®Æt trïng vïng nhí. D­íi ®©y sÏ m« t¶ c¸ch l­u gi÷ sè liÖu vµ sù ph©n vïng bé nhí cña DSP. · Sè liÖu ®­îc l­u gi÷ trªn DSP bao gåm hai vïng nhí X vµ Y ®­îc ph©n chia nh­ sau: - Vïng nhí X ®­îc sö dông ®Ó l­u giø c¸c gi¸ trÞ biªn ®é cña tÝn hiÖu thu thËp ®­îc vµ ®­îc sö dông ®Ó phôc vô cho viÖc hiÓn thÞ. Vïng nhí X ®­îc ph©n chia thµnh 3 vïng nhí nh­ sau: + Vïng nhí b¾t ®Çu tõ X: $4000 lµ vïng nhí chøa c¸c sè liÖu thu thËp ®­îc, víi mçi lÇn ghi ®­îc 1024 ®iÓm. + Vïng nhí b¾t ®Çu tõ X:$2000 lµ vïng nhí chøa c¸c sè liÖu cña th­ viÖn tÝn hiÖu chuÈn. + Vïng nhí b¾t ®Çu tõ X:$3000 lµ vïng nhí chøa c¸c sè liÖu cña tÝn hiÖu bÊt b×nh th­êng sau khi ®­îc so s¸nh víi th­ viÖn tÝn hiÖu chuÈn. - Vïng nhí Y ®­îc sö dông ®Ó l­u gi÷ c¸c d¹ng ng«n ng÷ h×nh thøc cña tÝn hiÖu sau khi ®· ®­îc nhËn d¹ng víi ph­¬ng ph¸p l­u gi÷ nh­ sau: Cöa sæ quan s¸t ®­îc chia thµnh 40 ®o¹n. Qu¸ tr×nh nhËn d¹ng tÝn hiÖu ®iÖn tim sÏ ®­îc thùc hiÖn trªn c¸c tõ chia thµnh 40 ký tù bao trïm tÊt c¶ chu kú nhÞp cña tÝn hiÖu ECG tõ hai ®Ønh R – R. Mçi chu kú bao gåm 40 ký tù chiÕm 7 « nhí trong vïng nhí d­íi d¹ng nh­ sau : VD: Y: $2000 CCBAAA AABBBB CCCCCC AAAAAA.. Y: $2006 AABB00 ........... Vïng nhí Y ®­îc ph©n chia thµnh 3 vïng nhí nh­ sau : + Vïng nhí b¾t ®Çu tõ Y: $4000 lµ vïng nhí chøa d¹ng ng«n ng÷ h×nh thøc cña tÝn hiÖu thu thËp ®­îc. + Vïng nhí b¾t ®Çu tõ Y: $2000 lµ vïng nhí chøa d¹ng ng«n ng÷ h×nh thøc cña th­ viÖn tÝn hiÖu ®iÖn tim chuÈn. + Vïng nhí b¾t ®Çu tõ Y: $3000 lµ vïng nhí chøa d¹ng ng«n ng÷ h×nh thøc cña tÝn hiÖu bÊt b×nh th­êng sau khi ®· ®­îc so s¸nh víi th­ viÖn tÝn hiÖu ®iÖn tim chuÈn. Sè liÖu ®­îc l­u gi÷ liªn tiÕp trªn c¸c vïng nhí cña hai vïng nhí X vµ Y. C¸c vïng nhí X vµ Y ®Òu cã mèi liªn hÖ víi nhau ®Ó thuËn tiÖn cho viÖc l­u gi÷ vµ hiÓn thÞ sè liÖu. 2.2. Ch­¬ng tr×nh phÇn mÒm. 2.2.1. C¸c l­u ®å thuËt to¸n thùc hiÖn ch­¬ng tr×nh. · §Ó thùc hiÖn ®­îc c¸c nhiÖm vô: TruyÒn vµ thu thËp sè liÖu, x¸c ®Þnh chu k× (R-R), nhËn d¹ng, so s¸nh, l­u gi÷ tÝn hiÖu vµ hiÓn thÞ kÕt qu¶ trªn m¸y tÝnh. Ch­¬ng tr×nh phÇn mÒm viÕt cho DSP cã algorithm cho d­íi ®©y: Gi¶i thÝch l­u ®å: + B­íc ®Çu tiªn ph¶i khëi t¹o CS4215, chän chÕ ®é ®iÒu khiÓn ®Ó khëi t¹o cho CS4215 cô thÓ lµ ta qui ®Þnh c¸c th«ng sè cho CS4215 nh­ tÇn sè lÊy mÉu ( tÇn sè lÊy mÉu cña CS4215 ë trong kho¶ng tõ 4 KHz- 50KHz ), sè bit trong mét frame, tèc ®é truyÒn... + Khi ë chÕ ®é truyÒn sè liÖu th× CS4215 thùc hiÖn viÖc thu tÝn hiÖu t­¬ng tù chuyÓn d¹ng sè vµ göi ®Õn DSP ®Ó xö lÝ. Nã ho¹t ®éng theo chÕ ®é mµ ta ®Æt tr­íc ë chÕ ®é ®iÒu khiÓn cßn trong tr­êng hîp CS4215 ë chÕ ®é truyÒn sè liÖu, nã sÏ quy ®Þnh khung truyÒn sè liÖu. Nh­ ta ®· biÕt tÝn hiÖu ®iÖn tim chuÈn cã tÇn sè biÕn ®æi tõ (0.5-100)Hz. Mµ theo ®Þnh lÝ lÊy mÉu th× tÇn sè lÊy mÉu ph¶i lín hoÆc b»ng 2 lÇn tÇn sè c¾t cña tÝn hiÖu ®iÖn tim. VÒ lÝ thuyÕt tÇn sè tÝn hiÖu ®iÖn tim cã thÓ tÝnh to¸n theo c«ng thøc : Trong ®ã : tÇn sè lÊy mÉu. sai sè yªu cÇu. gi¸ trÞ ®Þnh møc cña ®¹i l­îng ®o. gia tèc biÕn thiªn cùc ®¹i cña tÝn hiÖu ®o (®¹o hµm bËc hai cña qu¸ tr×nh biÕn thiªn). TÝnh to¸n tÇn sè lÊy mÉu: Thùc tÕ viÖc tÝnh sè ®iÓm lÊy mÉu trong mét chu k× tÝn hiÖu ®iÖn tim ®­îc tÝnh to¸n nh­ sau: Nh­ ta ®· tr×nh bµy ë ch­¬ng 1 phÇn 1, thêi gian tån t¹i cña sãng P lµ 0,05s ¸ 0,11s; chu kú tÝn hiÖu ®iÖn tim lµ 0,9s . VËy víi P = 0,05 ta tÝnh: fmax = Theo ®Þnh lý lÊy mÉu vµ kÕt hîp víi thùc tÕ ta chän tÇn sè lÊy mÉu cña tÝn hiÖu ®iªn tim ®­îc t¨ng lªn 50 lÇn: 20 Hz x 50 lÇn = 1000 Hz. TÇn sè lÊy mÉu thùc tÕ cña m¹ch m· ho¸ gi¶i m·(®Çu vµo cña tÝn hiÖu ®iÖn tim). CS4215 lµ 8 KHz; 9,6 KHz; 16 KHz; 32 KHz; 48 KHz do ®ã ta chän nhá nhÊt lµ 8 KHz . Chu kú lÊy mÉu Te = . VËy sè ®iÓm lÊy mÉu trong 1 chu kú tÝn hiÖu lµ : = 7200 ®iÓm . Cöa sæ ta chän lµ 40 ®o¹n cho 1 chu kú lÊy mÉu. VËy øng víi mçi ®o¹n lÊy mÉu cã : (§iÓm). + Qu¸ tr×nh thu thËp sè liÖu, x¸c ®Þnh chu k× (R-R), nhËn d¹ng vµ so s¸nh tÝn hiÖu diÔn ra khi CS4215 ë chÕ ®é ®iÒu khiÓn. ë ®©y, sè ®iÓm lÊy mÉu ®­îc chän lµ 7200 ®iÓm ( vÒ nguyªn t¾c sè ®iÓm lÊy mÉu cã thÓ t¨ng lªn bao nhiªu tuú ý). Khi thu thËp ®ñ 7200 ®iÓm th× b¾t ®Çu tÝnh to¸n tÇn sè t¹i ®iÓm tÝn hiÖu cã biªn ®é cùc ®¹i. Khi sè liÖu truyÒn hÕt CS4215 quay trë vÒ chÕ ®é ®iÒu khiÓn vµ qu¸ tr×nh thu thËp l¹i ®­îc b¾t ®Çu, qu¸ tr×nh tiÕp diÔn liªn tôc. Khi muèn dõng ch­¬ng tr×nh, sö dông mét t¸c ®éng tõ bªn ngoµi th«ng qua phÇn mÒm EVM ®iÒu khiÓn dõng DSP. Ch­¬ng tr×nh thu thËp, xö lý vµ nhËn d¹ng tÝn hiÖu ®iÖn tim ®­îc viÕt b»ng ng«n ng÷ Assembler 56002. C¸c ch­¬ng tr×nh viÕt cho DSP gåm cã : + Macro truyÒn sè liÖu + Macro thu thËp sè liÖu + Macro tÝnh tÇn sè max + Macro nhËn d¹ng tÝn hiÖu + Macro so s¸nh tÝn hiÖu thu ®­îc víi th­ viÖn tÝn hiÓu chuÈn vµ l­u gi÷ sè liÖu Thµnh lËp th­ viÖn chuÈn : - Ph¸t mét chu kú tÝn hiÖu ®iÖn tim chuÈn n lÇn theo lý thuyÕt cã thÓ lµ 20 lÇn, ë ®©y ®Ó t¨ng ®é tin cËy ta cã thÓ chän n = 100 B­íc 1: T×m x¸c xuÊt xuÊt hiÖn cña c¸c dÉy ch÷ trong n lÇn ph¸t ®Çu tiªn. VÝ dô : aa bb cccaa lÇn 1 aa bb cccac lÇn 2 aa bb cccba lÇn 3 aa bb cccac lÇn 4 aa bb cccab lÇn 5 .. .. .. .. aa bb cccba lÇn n B¾t ®Çu Khëi t¹o CS4215 Thu thËp §ñ sè liÖu X¸c ®Þnh chu kú(R-R) NhËn d¹ng So s¸nh víi th­ viÖn chuÈn L­u gi÷ HiÓn thÞ Ch¹y tiÕp ? KÕt thóc Sai §óng Sai §óng §óng L­u ®å cña thiÕt bÞ tù ®éng ph©n tÝch tÝn hiÖu ®iÖn tim B­íc 2 : T×m x¸c xuÊt xuÊt hiÖn cña c¸c dÉy ch÷ trong n lÇn ph¸t thø 2( cã thÓ nhiÒu h¬n cµng tèt). Cø tiÕp tôc nh­ vËy ®Õn b­íc thø 5 sau ®ã ta chän ra c¸c dÉy ch÷ gièng nhau nhÊt cã x¸c xuÊt xuÊt hiÖn lín nhÊt ta hîp l¹i thµnh mét th­ viÖn kho¶ng 7 ®Õn 8 dÉy ch÷( ®ã lµ 1 tËp hîp cã x¸c xuÊt xuÊt hiÖn nhiÒu nhÊt) chuÈn cã 8 d¹ng. B»ng ph­¬ng ph¸p trªn ta cã ®· cã 1 th­ viÖn , th­ viÖn nµy sÏ ®­îc cÊt trong bé nhí khi ta thùc hiÖn viÖc ph¸t ra c¸c tÝn hiÖu bÊt kú( tÝn hiÖu chuÈn hoÆc tÝn hiÖu lÖch ) tõ m¸y ph¸t m« R«ng tÝm hoÆc ®iÖn tÝm ®­a vµo thiÕt bÞ tù ®éng ph©n tÝch tim hoÆc ®iÖn tim, sau khi thùc hiÖn viÖc thu thËp, xö lý, nhËn d¹ng, tÝn hiÖu sÏ so s¸nh lÇn l­ît víi tõng d¹ng. Trong 8 d¹ng ®ã ë th­ viÖn chuÈn. NÕu tÝn hiÖu trïng víi 1 trong 8 d¹ng ®ã th× bá qua, cßn nÕu kh¸c th× ghi l¹i vµo bé nhí . §Ó ng­êi b¸c sÜ cã thÓ sö dông nguån th«ng tin vÒ tÝn hiÖu ®· thu thËp ®­îc th× ph¶i cÇn nèi ghÐp thiÕt bÞ tù ®éng ph©n tÝch tÝn hiÖu ®iÖn tim víi m¸y tÝnh th«ng qua card truyÒn th«ng + phÇn mÒm truyÒn th«ng, hiÓn thÞ phÇn nµy sÏ ®­îc cung cÊp bëi nhµ chÕ t¹o thiÕt bÞ. Sau khi ph©n tÝch ®­êng cong ®iÖn tim ®å, tim ra c¸c dÊu hiÖu bÖnh lý, c¸c b¸c sÜ chuyªn khoa vÒ tim m¹ch ®· tËp hîp chóng l¹i thµnh nh÷ng héi chøng ®iÖn tim ®å, råi dùa vµo ®ã mµ chuÈn ®o¸n bÖnh. Cã hai lo¹i héi chøng ®­îc xÐt ®Õn lµ: - C¸c héi chøng vÒ h×nh d¹ng sãng: C¸ bÖnh lý lµm thay ®æi h×nh d¹ng ®iÖn tim ®å chuÈn. - C¸c héi chøng vÒ rèi lo¹n nhÞp: C¸c bÖnh lý lµm thay ®æi tÇn sè ®iÖn tim ®å chuÈn . §Ò tµi cña luËn v¨n míi chØ xÐt tíi c¸c bÖnh lý lµm thay ®æi h×nh d¸ng cña ®iÖn tim ®å chuÈn vµ ®Ó gi¶i quyÕt vÊn ®Ò nµy lµ bµi to¸n vÒ nhËn d¹ng. B¾t ®Çu TuyÕn tÝnh ho¸ b»ng ph­¬ng ph¸p b×nh ph­¬ng tèi thiÓu Sai Khëi t¹o CS 4215 Thu thËp §ñ sè liÖu NhËn d¹ng L­u gi÷ KÕt thóc §óng L­u ®å 2: Thµnh lËp th­ viÖn chuÈn 2.3. Thö nghiÖm thiÕt bÞ - M¸y ph¸t m« pháng tÝn hiÖu ®iÖn tim : Cho m¸y ch¹y víi nguån mét chiÒu lµ pin 9V ®· cho ®­îc c¸c d¹ng tÝn hiÖu m« pháng cho tÝn hiÖu ®iÖn tim ®­îc kÕt qu¶ nh­ ë h×nh 4,5 vµ 6 (d¹ng ë h×nh 6 lµ ®Ó tham kh¶o). M¸y ch¹y æn ®Þnh, tÝn hiÖu ra Ýt bÞ ¶nh h­ëng cña c¸c lo¹i nhiÔu. §· ghÐp nèi víi Card DSP vµ ch¹y ch­¬ng tr×nh thu thËp sè liÖu. Ch­¬ng tr×nh thu thËp sè liÖu ®­îc viÕt b»ng ng«n ng÷ assembler 56002 ë phÇn phô lôc. H×nh 4: D¹ng tÝn hiÖu ®iÖn tim b×nh th­êng do m¸y ph¸t m« pháng t¹o ra H×nh 5: D¹ng tÝn hiÖu bÖnh thÊp tim (PQ dµi ra) do m¸y ph¸t m« pháng t¹o ra . H×nh 6: D¹ng tÝn hiÖu bÖnh tim rung thÊt do m¸y ph¸t m« pháng t¹o ra (D¹ng tÝn hiÖu nµy ®Ó tham kh¶o) 2.4. §¸nh gi¸ chung toµn bé hÖ thèng. Dông cô tù ®éng ph©n tÝch tÝn hiÖu ®iÖn tim sö dông ph­¬ng ph¸p nhËn d¹ng tÝn hiÖu lµ mét ph­¬ng ph¸p v« cïng quan träng trong viÖc xö lý c¸c th«ng tin ®a chiÒu khi c¸c th«ng tin nµy kh«ng thÓ biÓu diÔn ®­îc d­íi d¹ng biÓu thøc ®¬n gi¶n hoÆc kh«ng thÓ ®­îc ®Þnh nghÜa tr­íc. Ngoµi ra m« h×nh thiÕt bÞ cßn sö dông Card DSP 56002EVM lµ mét hÖ thèng xö lý tÝn hiÖu hoµn chØnh, víi bé vi xö lý tÝn hiÖu sè DSP 56002 cña h·ng Motorola chÕ t¹o theo c«ng nghÖ HCMOS, c«ng suÊt thÊp, 24 bit. CÊu tróc chung cña DSP 56002 ®­îc x©y dùng trªn mét modul xö lý trung t©m chuÈn vµ c¸c ngo¹i vi trªn chip. Trong vïng më réng xung quanh modul xö lý trung t©m, chip cã thÓ cung cÊp nhiÒu cÊu h×nh bé nhí vµ c¸c modul ngo¹i vi kh¸c nhau tuú thuéc vµo tõng bé xö lý. Do ®ã cÊu tróc nµy cã thÓ lµm gi¶m ®Õn møc tèi ®a sù phøc t¹p, gi¸ thµnh vµ thêi gian trong xö lý tÝn hiÖu sè. Dông cô tù ®éng ph©n tÝch vµ xö lý tÝn hiÖu ®iÖn tim ®­îc x©y dùng trªn c¬ së vi xö lý tÝn hiÖu sè cã kh¶ n¨ng xö lý tÝn hiÖu trong thêi gian thùc cho phÐp chóng ta tiÕt kiÖm ®¸ng kÓ bé nhí cña thiÕt bÞ. §©y chÝnh lµ tiÒn ®Ò cho viÖc h­íng tíi chÕ t¹o dông cô thùc hiÖn hoµn toµn tù ®éng qu¸ tr×nh ph©n tÝch vµ nhËn d¹ng tÝn hiÖu cã thÓ lµm viÖc víi c¸c tÝn hiÖu ECG thùc thu thËp trªn c¬ thÓ ng­êi bÖnh. C¸c dông cô tù ®éng nµy kh«ng chØ ®­îc dïng trong lÜnh vùc y tÕ, mµ cßn cã thÓ më réng øng dông trong c¸c lÜnh vùc ®o l­êng kh¸c. Phô lôc Ph? ph??c Ch¬ng tr?h ph? m? vi? cho DSP ;=================================================================== ;SUBPROGRAM hangnvi.asm ;file nµy ®?h ngh? ®? ch?thanh ghi ;=================================================================== IPR equ $FFFF ;Interrupt priority register BCR equ $FFFE ;Bus control register PLL equ $FFFD ;PLL control register SSIDR equ $FFEF ;SSI receive\transmit data register SSISR equ $FFEE ;SSI status register CRB equ $FFED ;SSI control register B CRA equ $FFEC ;-------------------- A PCD equ $FFE5 ;Port C - Data register PBD equ $FFE4 ;Port B - Data register (PBD) PCDDR equ $FFE3 ;Port C - Data direction register PBDDR equ $FFE2 ;Port B - Data direction register PCC equ $FFE1 ;Port C - Control register PBC equ $FFE0 ;Port B - Control register SCCR equ $FFF2 ;SCI clock control register STX1 equ $FFF6 ;SCI transmit register STX2 equ $FFF5 ;-------------------- STX3 equ $FFF4 ;------------------- STX equ $FFF4 ;-------------------- SRX1 equ $FFF6 ;SCI receive register SRX2 equ $FFF5 ;------------------ SRX3 equ $FFF4 ;------------------ SRX equ $FFF4 ;----------------- SCR equ $FFF0 ;SCI interface control register SSR equ $FFF1 ;SCI interface status register TCSR equ $FFDE ;Timer control/status register TCR equ $FFDF ;Timer count register ;=============================================================== ;hangsci.asm ;file ®?h ngh? h»ng s?ho c? SCI ;==================================================================== SCI_IPR_0 EQU $0000 SCI_IPR_1 EQU $4000 ;IPR of SCI , level 0 SCI_IPR_2 EQU $8000 ;IPR of SCI , level 1 SCI_IPR_3 EQU $C000 ;IPR of SCI , level 2 FORMAT_WORD_10 EQU $000002 ;10 bits asynchronous SHIFT_DIR_MSB EQU $000008 ;1 =shift MSB fist ;0 =shift LSB fist SEND_BREAK EQU $000100 ;1 =send zero word WAKEUP_MODE EQU $000200 ;1 =select adress bit wakeup mode ;0 =select idle line wakeup mode RX_WAKEUP_EN EQU $000400 ;1 =receiver wakeup enable WIRE_OR_MODE EQU $000800 ;1 =SCI TXS driver is an open output, ;external pull up register is required RX_ENABLE EQU $000100 ;1 =receiver is enabled TX_ENABLE EQU $000200 ;1 =transmitter is enabled IDLE_INT_EN EQU $000400 ;1 =idle interrupt is enabled RX_INT_EN EQU $000800 ;1 =receive interrupt is enabled TX_INT_EN EQU $001000 ;1 =transmit interrupt is enabled SCI_TIMER_INT_EN EQU $002000 ;1 =timer interrupt is enabled SCI_TIMER_INT_RATE EQU $004000 SCI_CLK_POLARITY EQU $008000 SCLK_OUT_16 EQU $001000 ;1 = SCLK output is a 16 x baud clock ;0 = SCLK output is a 1 x baud clock SCI_CLK_PRE EQU $002000 ;1 = SCI clock divided by 8 ;0 = SCI clock divided by 1 RX_EX_CLK EQU $004000 ;0 = select internal clock for the receiver ;1 = select external clock for the receiver TX_EX_CLK EQU $008000 ;0 =select internal clock for the ransmitter ;1= elect external clock for the transmitter SCI_RATE_625 EQU $000000 ;625.0 KB with Bit rate error percent =0 ; if SCI_CLK_PRE =0 SCI_RATE_56 EQU $00000A ;56.0 KB with Bit rate error percent =+1.46 ; if SCI_CLK_PRE =0 SCI_RATE_38 EQU $00000F ;38.4 KB with Bit rate error percent =+1.72 ; if SCI_CLK_PRE =0 SCI_RATE_19 EQU $000020 ;19.2 KB with Bit rate error percent =-1.36 ; if SCI_CLK_PRE =1 SCI_RATE_9 EQU $000040 ;38.4 KB with Bit rate error percent =+0.16 ; if SCI_CLK_PRE =0 SCI_RATE_4 EQU $000081 ;4.8 KB with Bit rate error percent =+0.15 ; if SCI_CLK_PRE =0 SCI_RATE_2 EQU $000020 ;2.4 KB with Bit rate error percent =-1.38 ; if SCI_CLK_PRE =1 SCI_RATE_1 EQU $000040 ;38.4 KB with Bit rate error percent =+0.08 ; if SCI_CLK_PRE =1 SCI_RATE_0_6 EQU $000081 ;0.6 KB with Bit rate error percent =0 ; if SCI_CLK_PRE =1 SCI_RATE_0_3 EQU $000103 ;0.3 KB with Bit rate error percent =0 ; if SCI_CLK_PRE =1 RX_SCI_BUFF EQU $10 TX_SCI_BUFF EQU $11 ;=============================================================== ;hangssi.asm ;file ®?h ngh? h»ng s?ho c? SSI ;================================================================= SSI_IPR_0 equ $0000 SSI_IPR_1 equ $1000 ;IPR of SSI , level 0 SSI_IPR_2 equ $2000 ;IPR of SSI , level 1 SSI_IPR_3 equ $3000 ;IPR of SSI , level 2 NO_PREAMP equ $100000 ;0 == enable 20 dB pre-amp LO_OUT_DRV equ $080000 ;0 == 2.8 Vp-p line (1V rms) ;0 == 4.0 Vp-p headphones ;1 == Line and Headphone 2.0Vp-p HI_PASS_FILT equ $008000 ;0 == HPF disabled SAMP_RATE_9 equ $003800 ; 9.6 kHz sample rate SAMP_RATE_48 equ $003000 ;48 kHz sample rate SAMP_RATE_32 equ $001800 ;32 kHz sample rate SAMP_RATE_27 equ $001000 ;27.4 kHz sample rate SAMP_RATE_16 equ $000800 ;16 ??¿??¨???????????¨???????????¨???????????¨???????????¨?? BITS_128 equ $040000 ;128 bits per frame BITS_256 equ $080000 ;256 bits per frame CODEC_MASTER equ $020000 ;1 == codec generates SCLK & FS ;0 == codec receives SCLK & FS CODEC_TX_OFF equ $010000 ;0 == enable codec TX to DSP ;1 == disable (Hi-Z) codec output HEADPHONE_EN equ $800000 ;1 == headphone output enabled, 0 == muted LINEOUT_EN equ $400000 ;1 == line output enabled, 0 == muted LEFT_ATTN equ $010000 ;63 steps * 1.5 dB = -94.5 dB SPEAKER_EN equ $004000 ;1 == speaker output enabled, 0 == muted RIGHT_ATTN equ $000100 ;63 steps * 1.5 dB = -94.5 dB MIC_IN_SELECT equ $100000 ;1 == A/D inputs from MIC pins NOTE: the ; DSP56002EVM uses these pins. The line ; input pins are not used. LEFT_GAIN equ $010000 ;15 steps * 1.5 dB = 22.5 dB MONITOR_ATTN equ $001000 ;15 steps * 6.0 dB = 90.0 dB (mute) RIGHT_GAIN equ $000100 ;15 steps * 1.5 dB = 22.5 dB CTRL_WD_12 equ NO_PREAMP+HI_PASS_FILT+SAMP_RATE_8+STEREO+DATA_16 ;CLB=0 CTRL_WD_34 equ IMMED_3STATE+XTAL2_SELECT+BITS_64+CODEC_MASTER CTRL_WD_56 equ $000000 CTRL_WD_78 equ $000000 OUTPUT_SET equ HEADPHONE_EN+LINEOUT_EN+(LEFT_ATTN*4) INPUT_SET equ MIC_IN_SELECT+(15*MONITOR_ATTN)+(RIGHT_ATTN*4) STACK_CRA equ $7f0 STACK_CRB equ $7f1 STACK_PCC equ $7f2 STACK_SSISR equ $7f3 ;====================================================================== ;hangctr.asm ;file ®?h ngh? h»ng s?ho ch¬ng tr?h ;====================================================================== START equ $40 stack equ $40 sodiem equ 4096 thvao equ $2000 novathvao equ $3000 ;dia chi truyen dang song novakqua equ $3000 ;dia chi truyen dang phoor bang equ $800 kqua equ $1000 dungthu equ 12 dungdao equ 13 ccx equ 100 lae equ $10 heso equ 1 hskp equ 1 bodem equ $80 tamthoi equ $e1 txbuff equ $e0 luong equ 8 hex equ $50 tam1a equ $80 tam2b equ $81 tam3c equ $82 tam4d equ $83 tam5e equ $84 tam6f equ $85 llae equ $a0 ratio equ $a2 ratiotam equ $a3 divaddr equ $a4 ;+2 bangabc equ $b0 only4u equ $c0 asciibuff equ $c2 truyenbff equ $c4 novalae equ $f0 novallae equ $f4 relled equ 10000 gioihan equ $f00000 suygiamlae equ 16 ;32 kytwktra equ $5A0000 ;"Z":yeu cau truyen ket qua tinh toan ktwdsong equ $590000 ;"Y":yeu cau truyen dang song vao ktwdphor equ $580000 ;"X":yeu cau truyen dang phoor wavlen equ 1024 ;ddooj daif cuar dang song truyen di speclen equ 1024 ;ddooj daif cuar dang phoor truyen di trengoai equ 99 ;cacs hawngf soos taoj treex tretrong equ 31 ;ddeer truyeenf data chinhs xacs ;======================================================================= ;ktaoctr.asm ;file b¾t ®? ch¬ng tr?h ch?h ;====================================================================== movep #$261009,x:PLL movep #$0000,x:BCR ;mowr bus movep #0,x:PBC ;khowir taoj coongr B I/O song song movep #>$ffff,x:PBDDR ;khowir taoj coongr B: output movep #SCI_IPR_2+SSI_IPR_1,x:IPR ;ddawtj mwcs wu tieen movec #0,sp move #0,omr move #stack,r7 move #-1,m7 ;======================================================================= ;com.asm ;subrutine truy? s?i? ra c? COM khi c?ªu c? ;Ch¬ng tr?h ch?h lu«n g?/FONT>subrutine ;=========================================================== com1 nop move #kytwktra,b move x:RX_SCI_BUFF,a move #txbuff,r5 move #-1,m5 cmp a,b ;kiem tra ky tw yeu cau jne sosanhtiep ;truyen ket qua tinh toan clr a bset #12,x:SCR move a,x:RX_SCI_BUFF do #8,laiii move x:(r5)+,x0 move x0,x:TX_SCI_BUFF do #100,otempt ;taoj treex ddeer truyeenf do #30,tempt ;chinhs xacs jclr #7,x:TCSR,vansan movep x:(r3)+,x:PBD bclr #7,x:TCSR vansan nop tempt nop otempt nop laiii jmp bca ;-------truyen dangj songs--------------------------------------------- sosanhtiep move #ktwdsong,b move #novathvao,r4 cmp a,b ;kiem tra ky tw yeu cau jne bca ;continuez ;truyen dang song move #$542053,x0 ;"T S" move x0,x:truyenbff ;kys twj nhan dang song ;-------------------------------------------- bset #12,x:SCR clr a move a,x:RX_SCI_BUFF do #wavlen,khongtruyennua move x:truyenbff,x0 move x0,x:TX_SCI_BUFF do #trengoai,otempt0 ;taoj treex ddeer do #tretrong,tempt0 ;truyeenf chinhs xacs jclr #7,x:TCSR,vansan0 movep x:(r3)+,x:PBD bclr #7,x:TCSR vansan0 nop tempt0 nop otempt0 nop move x:(r4)+,x0 move x0,x:asciibuff asc asciibuff,truyenbff+1 move x:truyenbff+1,x0 ;truyen 3 byte cao move x0,x:TX_SCI_BUFF do #trengoai,otempt1 ;taoj treex ddeer do #tretrong,tempt1 ;truyeenf chinhs xacs jclr #7,x:TCSR,vansan1 movep x:(r3)+,x:PBD bclr #7,x:TCSR vansan1 nop tempt1 nop otempt1 nop move x:truyenbff+2,x0 ;truyen 3 byte thap move x0,x:TX_SCI_BUFF do #trengoai,otempt2 ;taoj treex ddeer do #tretrong,tempt2 ;truyeenf chinhs xacs jclr #7,x:TCSR,vansan2 movep x:(r3)+,x:PBD bclr #7,x:TCSR vansan2 nop tempt2 nop otempt2 nop khongtruyennua bca nop bclr #12,x:SCR rts ;======================================================================== ;ktao4216.asm ;file kh?t¹o ADC codec4215 ;====================================================================== org x:0 RX_BUFF_BASE equ * RX_data_1_2 ds 1 ;data time slot 1/2 for RX ISR RX_data_3_4 ds 1 ;data time slot 3/4 for RX ISR RX_data_5_6 ds 1 ;data time slot 5/6 for RX ISR RX_data_7_8 ds 1 ;data time slot 7/8 for RX ISR TX_BUFF_BASE equ * TX_data_1_2 ds 1 ;data time slot 1/2 for TX ISR TX_data_3_4 ds 1 ;data time slot 3/4 for TX ISR TX_data_5_6 ds 1 ;data time slot 5/6 for TX ISR TX_data_7_8 ds 1 ;data time slot 7/8 for TX ISR RX_PTR ds 1 ; Pointer for rx buffer TX_PTR ds 1 ; Pointer for tx buffer ;******************************************************* *********** org p: codec_init move #RX_BUFF_BASE,x0 move x0,x:RX_PTR ; Initialize the rx pointer move #TX_BUFF_BASE,x0 move x0,x:TX_PTR ; Initialize the tx pointer ;---------------------------------------------------------------------------- movep #$0000,x:PCC ; turn off ssi port movep #$4303,x:CRA ; 40MHz/16 = 2.5MHz SCLK, WL=16 bits, 4W/F movep #$FB30,x:CRB ; RIE,TIE,RE,TE, NTWK, SYN, FSR/RSR->bit movep #$14,x:PCDDR ; setup pc2 and pc4 as outputs movep #$0,x:PCD ; D/C~ and RESET~ = 0 ==> control mode ;----reset delay for codec ---- do #500,_delay_loop rep #2000 ; 100 us delay nop _delay_loop bset #4,x:PCD ; RESET~ = 1 movep #$01E8,x:PCC ; Turn on ssi port ;--- set up the TX buffer with control mode data move #CTRL_WD_12,x0 move x0,x:TX_BUFF_BASE move #CTRL_WD_34,x0 move x0,x:TX_BUFF_BASE+1 move #CTRL_WD_56,x0 move x0,x:TX_BUFF_BASE+2 move #CTRL_WD_78,x0 move x0,x:TX_BUFF_BASE+3 andi #$FC,mr ; enable interrupts ; CLB == 0 in TX Buffer, wait for CLB == 1 in RX Buffer jclr #3,x:SSISR,* ; wait until rx frame bit==1 jset #3,x:SSISR,* ; wait until rx frame bit==0 jclr #3,x:SSISR,* ; wait until rx frame bit==1 jset #18,x:RX_BUFF_BASE,* ; loop until CLB set ; CLB == 1 in RX Buffer, send 4 frames and then disable SSI bset #18,x:TX_BUFF_BASE ;set CLB do #4,_init_loopB ; Delay as 4 full frames to pass jclr #2,x:SSISR,* ; wait until tx frame bit==1 jset #2,x:SSISR,* ; wait until tx frame bit==0 _init_loopB movep #0,x:PCC ;reset SSI port (disable SSI...) ; now CLB should be 1 -- re-program fsync and sclk direction to input movep #$FB00,x:CRB ; rcv,xmt&int ena,netwk,syn,sclk==inp,msb 1st movep #$14,x:PCD ; D/C~ pin = 1 ==> data mode movep #$01EB,x:PCC ; turn on ssi port (enable SSI now...) ;================================================================= ;txrx.asm ;subrutine thu th? s?i? qua c? SSI t??dec 4215 ;====================================================================== ssi_rx_isr move r0,y:(r7)+ move m0,y:(r7)+ move #3,m0 move x:RX_PTR,r0 jclr #3,x:SSISR,next_rx move #RX_BUFF_BASE,r0 nop next_rx movep x:SSIDR,x:(r0)+ move r0,x:RX_PTR move y:-(r7),m0 move y:-(r7),r0 rti ;-------------------------------------------------------------------- ssi_tx_isr move r0,y:(r7)+ move m0,y:(r7)+ move #3,m0 move x:TX_PTR,r0 jclr #2,x:SSISR,next_tx move #TX_BUFF_BASE+1,r0 nop next_tx movep x:(r0)+,x:SSIDR move r0,x:TX_PTR move y:-(r7),m0 move y:-(r7),r0 rti ;====================================================================== ;subrutine nh? vµ ph¸t s?i? b»ng RS232 qua c? SCI ;====================================================================== sci_rx_isr jclr #2,x:SSR,* ;if receive data register full ->wait movep x:SRX1,x:RX_SCI_BUFF ;if- - empty, chuyen data toi dem nhan nop rti ;-------------------------------------------------------------------- sci_tx_isr jclr #1,x:SSR,* ;if transmit data register full ->wait movep x:TX_SCI_BUFF,X:STX1 ;if ------------------- empty chuyen ;data toi thanh ghi truyen jclr #1,x:SSR,* movep x:TX_SCI_BUFF,X:STX2 jclr #1,x:SSR,* movep x:TX_SCI_BUFF,X:STX3 nop rti ;====================================================================== ;thuthap.asm ;macro thu th? s?i? th??P> ;====================================================================== thuthap macro dungthu jset #2,x:SSISR,* jclr #2,x:SSISR,* clr a ;sua move x:RX_BUFF_BASE,a nop asr a asr a clr b move a,x:(r2) move b,y:(r2)+ jsr com1 ;kieemr tra yeeu caauf gwir data qua RS232 move #TONE_OUTPUT,y0 move y0,x:TX_BUFF_BASE+2 move #TONE_INPUT,y0 move y0,x:TX_BUFF_BASE+3 nop jsr com1 jclr #dungthu,r2,tieo ;12 endm ;=============================================================== ;cong3037.asm ;subrutine chuyen doi hex sang ascii ;e.g: A ->$41, 5 ->$35 ;================================================================ cong3037 move n3,y:(r7)+ move a1,n3 jclr #3,n3,cong30 jset #2,n3,cong37 jclr #1,n3,cong30 nop cong37 move #>$37,x0 nop add x0,a jmp hetcong cong30 move #>$30,x0 nop add x0,a hetcong nop move y:-(r7),n3 rts ;====================================================================== ;macro sao cheps tins hieeuj vaof sang mootj vungf ;ddeemj ddeer truyeenf leen RS232 khi cos yeeu caauf ;====================================================================== dgsong macro thvao,novathvao,wavlen ;thvao :ddiaj chir ddaauf cuar tins hieeuj vaof ;novathvao :ddiaj chir ddaauf cuar tins hieeuj copy ;wavlen :ddooj daif mangr tins hieeuj move #thvao,r4 move #-1,m4 move #novathvao,r5 move #-1,m5 do #wavlen,ketthuc move x:(r4)+,x0 move x0,x:(r5)+ nop ketthuc nop endm ;====================================================================== ;MACRO asc.asm ;MACRO chuy? s?i? sang d¹ng ASCII ;bodem soos lieeuj caanf chuyeenr ddooir ;tamthoi k? qu¶ , 3 byte cao = $e1 ;tamthoi+1 k? qu¶ 3 byte th? ;====================================================================== asc macro bodem,tamthoi move sr,n6 move r1,y:(r7)+ ;cat r1 va m1 move m1,y:(r7)+ ori #3,mr ;**a****************************************************************** clr a move #$f00000,x0 move x:bodem,a nop and x0,a rep #20 lsr a nop jsr cong3037 ;subrutine chuyen doi hex ->ascii nop rep #16 lsl a nop move a1,x:tam1a ;tam1a = $80 ;**b******************************************************************* clr a move #>$f0000,x0 move x:bodem,a nop and x0,a rep #16 lsr a nop jsr cong3037 nop rep #8 lsl a nop move a1,x:tam2b ;tam2b = $81 ;**c******************************************************************** clr a move #>$f000,x0 move x:bodem,a nop and x0,a rep #12 lsr a nop jsr cong3037 nop move a1,x:tam3c ;tam3c =$82 ;**d******************************************************************** clr a move #>$f00,x0 move x:bodem,a nop and x0,a rep #8 lsr a nop jsr cong3037 nop rep #16 lsl a nop move a1,x:tam4d ;tam4d = $83 ;**e******************************************************************* clr a move #>$f0,x0 move x:bodem,a nop and x0,a rep #4 lsr a nop jsr cong3037 nop rep #8 lsl a nop move a1,x:tam5e ;tam5e = $84 ;**f******************************************************************** clr a move #>$f,x0 move x:bodem,a nop and x0,a nop jsr cong3037 nop move a1,x:tam6f ;tam6f = $85 ;******************************************************************** clr a move x:tam1a,a move x:tam2b,x0 nop add x0,a move x:tam3c,x0 nop add x0,a nop move a,x:tamthoi clr a move x:tam4d,a move x:tam5e,x0 nop add x0,a move x:tam6f,x0 nop add x0,a nop move a,x:tamthoi+1 move y:-(r7),m1 ;tra lai m1 va r1 move y:-(r7),r1 move n6,sr endm ;====================================================================== ;Ch¬ng tr?h ch?h ;====================================================================== include 'hangnvi.asm' include 'hangssi.asm' include 'hangsci.asm' include 'hangctr.asm' include 'hangtime.asm' ;hang timer include 'thuthap.asm' include 'dgsong.asm' include 'maxm.asm' include 'asc.asm' ;****************************************************************************** org p:0 jmp START org p:$000C jsr ssi_rx_isr jsr ssi_rx_isr jsr ssi_tx_isr jsr ssi_tx_isr jsr sci_rx_isr jsr sci_rx_isr jsr sci_tx_isr nop org p:$003C jsr timer_isr ;ngat timer nop ;****************************************************************************** org p:START movep #0,x:IPR include 'ktaoctr.asm' include 'daucuoi2.asm' include 'ktao4215.asm' movep #relled,x:TCR ;nap gia tri counter bclr #3,x:TCSR ;chuc nang GPIO bclr #4,x:TCSR ;cac bit dieu khien timer bclr #5,x:TCSR ; bset #0,x:TCSR ;timer enable bset #6,x:TCSR ;bit GPIO bset #17,x:IPR bset #16,x:IPR andi #$fc,mr bset #1,x:TCSR ;Interrupts enabled ;****************************************************************** TONE_OUTPUT EQU HEADPHONE_EN+LINEOUT_EN+(4*LEFT_ATTN)+(4*RIGHT_ATTN) ;TONE_INPUT EQU MIC_IN_SELECT+(15*RIGHT_GAIN)+(15*LEFT_GAIN) TONE_INPUT EQU MIC_IN_SELECT+(15*MONITOR_ATTN) SCI_CTRL_WR EQU FORMAT_WORD_10+TX_ENABLE+RX_ENABLE+RX_INT_EN SCI_CLK_WR EQU SCI_RATE_9 movep #>SCI_CTRL_WR,x:SCR movep #SCI_CLK_WR,x:SCCR move #thvao,r2 move #-1,m2 move #8,m3 move #$200,r4 move #$1ff,m4 tiept nop thuthap dungthu ;,thvao dgsong thvao,novathvao,wavlen asc llae,tamthoi asc llae+1,tamthoi+2 move #thvao,r2 move #-1,m2 move #8,m3 tieo nop jmp tiept ;-------------------------------------------------------------------------- include 'cong3037.asm' include 'com.asm' include 'txrx.asm' end kÕt luËn B¶n ®å ¸n nµy ®· tr×nh bµy ®Çy ®ñ vÒ c¬ së lý thuyÕt còng nh­ thiÕt kÕ dông cô tù ®éng ph©n tÝch tÝn hiÖu ®iÖn tim trªn c¬ së DSP56002. Trong thêi gian lµm ®å ¸n t«i ®· hoµn thµnh ®­îc nh÷ng c«ng viÖc sau: · T×m hiÓu vÒ tÝn hiÖu ®iÖn tim, c¸c chuyÓn ®¹o vµ c¸c tÝn hiÖu bÖnh phôc vô cho môc ®Ých thiÕt kÕ dông cô tù ®éng ph©n tÝch tÝn hiÖu ®iÖn tim. · T×m hiÓu vÒ ph­¬ng ph¸p nhËn d¹ng tÝn hiÖu ®iÖn tim vµ c¸c thiÕt bÞ ghi ®iÖn tim ®· ®­îc sö dông trªn thÞ tr­êng · ThiÕt kÕ vµ chÕ t¹o dông cô tù ®éng ph©n tÝch tÝn hiÖu ®iÖn tim trªn c¬ së sö dông bé vi xö lý tÝn hiÖu sè DSP56002 do h·ng Motorola s¶n xuÊt cã s½n trong bé m«n, thùc hiÖn thu thËp tÝn hiÖu bÊt b×nh th­êng kh¸c. · ThiÕt kÕ chÕ t¹o ®­îc m¸y ph¸t m« pháng tÝn hiÖu ®iÖn tim b×nh th­êng vµ mét sè lo¹i bÖnh. C¸c phÇn viÖc cÇn lµm tiÕp theo ®Ó hoµn thiÖn thiÕt bÞ nh­: nhËn d¹ng,lËp th­ viÖn chuÈn vµ thö nghiÖm trªn ng­êi bÖnh cÇn mét thêi gian nghiªn cøu vµ thùc nghiÖm nhiÒu h¬n. Trong thêi gian tíi, nÕu cã ®iÒu kiÖn t«i sÏ nghiªn cøu ®Ó hoµn thiÖn vµ më réng mét sè tÝnh n¨ng cña thiÕt bÞ. Víi c¸c øng dông cña thiÕt bÞ nµy sÏ lµ tiÒn ®Ò cho viÖc h­íng tíi chÕ t¹o dông cô thùc hiÖn hoµn toµn tù ®éng qu¸ tr×nh ph©n tÝch vµ nhËn d¹ng tÝn hiÖu cã thÓ lµm viÖc víi c¸c tÝn hiÖu ECG thùc thu thËp trªn c¬ së ng­êi bÖnh thay thÕ cho ph­¬ng ph¸p Holter ®ang ®­îc sö dông hiÖn nay. C¸c dông cô tù ®éng nµy kh«ng chØ ®­îc dïng trong lÜnh vùc y tÕ, mµ cßn cã thÓ më réng øng dông trong c¸c lÜnh vùc ®o l­êng kh¸c. Tµi liÖu tham kh¶o 1, DSP56002 Digital Signal Processor Family Manual , 1993. 2, Mohamed EI-Shakawy : Digital Signal Processor Applications with Motorola’s DSP 56002 Processor. 3, GS. TS.TrÇn §ç Trinh; ThS. TrÇn V¨n §ång : H­íng dÉn ®äc ®iÖn tim , 2002. 4, GS. TS.TrÇn §ç Trinh; ThS. TrÇn V¨n §ång : §iÖn t©m ®å trong l©m sµng , 1972. 5, TS Ph¹m Ngäc YÕn : Dông cô tù ®éng ph©n tÝch tÝn hiÖu ®iÖn tim . 6, PGS TS Ph¹m Th­îng Hµn : Xö lÝ tÝn hiÖu sè . 7, Berrtil Jacobson , John G.Webster : Medicine and Clinical Engineering , 1979 8, Hoµng KiÕm : T×m hiÓu vÒ nhËn d¹ng , 1977.

Các file đính kèm theo tài liệu này:

  • docĐồ án thiết kế mô phỏng phân tích máy điện tim.doc