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.
87 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2509 | Lượt tải: 3
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÷ ë ®ã nhng 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 nhng 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 nhng ph¶i theo nguyªn t¾c dÞch chuyÓn song song lµ cã thÓ chung nguån nhng 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 lu 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 cha 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 cha 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µ lu 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
· Lu 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 lu gi÷ sè liÖu vµ sù ph©n vïng bé nhí cña DSP.
· Sè liÖu ®îc lu 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 ®Ó lu 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 ®Ó lu 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 lu 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 lu 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 lu gi÷ vµ hiÓn thÞ sè liÖu.
2.2. Ch¬ng tr×nh phÇn mÒm.
2.2.1. C¸c lu ®å 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, lu 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 lu ®å:
+ 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µ lu 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
Lu gi÷
HiÓn thÞ
Ch¹y tiÕp ?
KÕt thóc
Sai
§óng
Sai
§óng
§óng
Lu ®å 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
Lu gi÷
KÕt thóc
§óng
Lu ®å 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:
- Đồ án thiết kế mô phỏng phân tích máy điện tim.doc