MỞ ĐẦU
Ngày nay trên thế giới, cảm biến quang học đã được sử dụng rất nhiều trong đời sống, nhất là trong lĩnh vực y học, một lĩnh vực đòi hỏi sự chính xác, nhanh chóng và ít gây tổn thương cho bệnh nhân. Vì vậy cảm biến quang học là thiết bị dùng cho những xét nghiệm và trong hỗ trợ trong điều trị cho bệnh nhân, là một lựa chọn hợp lý và kinh tế. Trong khóa luận này, em sử dụng một đèn led có độ chiếu sáng mạnh chiếu vào ngón tay của bệnh nhân và ánh sáng truyền qua được thu vào cảm biến quang học TSL 230, với mục đích thu nhận những biến đổi trong máu qua đầu ngón tay người bệnh.Cảm biến quang học TSL230 sẽ biến đổi tín hiệu đó tần số và đưa vào vi điều khiển PIC 16F877A để xử lý tìm ra chính xác nhịp tim của bệnh nhân.
Nội dung của bản khóa luận “Nghiên cứu các ứng dụng cảm biến quang” gồm 3 chương :
Chương 1 : Giới thiệu về cảm biến quang học TSL230
Chương 2: Cấu trục vi điều khiển PIC 16F877A
Chương 3: Xây dựng hệ đo nhịp tim.
Sau một thời gian nghiên cứu, tìm hiểu và được sự giúp đỡ của GS TSKH Nguyễn Phú Thùy em đã hoàn thành khóa luận trong thời gian ngắn. Em xin chân thành cảm ơn sự giúp đỡ của Thầy Cô trong khoa điện tử -viễn thông và các cán bộ trẻ trong phòng thí nghiệm MEMS bộ môn vi cơ điện tử và vi hệ thống và đặc biệt là thầy Nguyễn Phú Thùy đã trực tiếp hướng dẫn em hoàn thành khóa luận này
53 trang |
Chia sẻ: banmai | Lượt xem: 2099 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Nghiên cứu các ứng dụng cảm biến quang, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỞ ĐẦU
Ngày nay trên thế giới, cảm biến quang học đã được sử dụng rất nhiều trong đời sống, nhất là trong lĩnh vực y học, một lĩnh vực đòi hỏi sự chính xác, nhanh chóng và ít gây tổn thương cho bệnh nhân. Vì vậy cảm biến quang học là thiết bị dùng cho những xét nghiệm và trong hỗ trợ trong điều trị cho bệnh nhân, là một lựa chọn hợp lý và kinh tế. Trong khóa luận này, em sử dụng một đèn led có độ chiếu sáng mạnh chiếu vào ngón tay của bệnh nhân và ánh sáng truyền qua được thu vào cảm biến quang học TSL 230, với mục đích thu nhận những biến đổi trong máu qua đầu ngón tay người bệnh.Cảm biến quang học TSL230 sẽ biến đổi tín hiệu đó tần số và đưa vào vi điều khiển PIC 16F877A để xử lý tìm ra chính xác nhịp tim của bệnh nhân.
Nội dung của bản khóa luận “Nghiên cứu các ứng dụng cảm biến quang” gồm 3 chương :
Chương 1 : Giới thiệu về cảm biến quang học TSL230
Chương 2: Cấu trục vi điều khiển PIC 16F877A
Chương 3: Xây dựng hệ đo nhịp tim.
Sau một thời gian nghiên cứu, tìm hiểu và được sự giúp đỡ của GS TSKH Nguyễn Phú Thùy em đã hoàn thành khóa luận trong thời gian ngắn. Em xin chân thành cảm ơn sự giúp đỡ của Thầy Cô trong khoa điện tử -viễn thông và các cán bộ trẻ trong phòng thí nghiệm MEMS bộ môn vi cơ điện tử và vi hệ thống và đặc biệt là thầy Nguyễn Phú Thùy đã trực tiếp hướng dẫn em hoàn thành khóa luận này
CHƯƠNG 1 - GIỚI THIỆU VỀ CẢM BIẾN QUANG HỌC TSL230
1.1. Cấu tạo của cảm biến quang học TSL230.
1.1.1 Mô tả
Thiết bị TSL230 là một tập hợp các cảm biến quang học có khả năng chuyển ánh sáng thành tín hiệu điện. Nó được tích hợp với khối CMOS và chuyển dòng điện thành tần số.Đầu ra có thể là một chuỗi xung hoặc là sóng hình vuông (50% chu kỳ) với tần số tỷ lệ với cường độ sáng. Độ nhạy cảm của thiết bị chúng ta có thể điều chỉnh được qua các chân của thiết bị. Tất cả đầu vào và đầu ra đều ở mức TTL, cho phép đo thông tin hai chiều của vi điều khiển của chương trình và đầu ra của cường độ ánh sáng. Đầu ra được cho phép bởi chân (OE) nó cung cấp điều kiện đặc điểm của đầu ra trong tình trạng trở kháng cao cho sự chia nhỏ tín hiệu vào vi điều khiển. Thiết bị có giá tri ra hoàn toàn là tần số với hệ dung sai của TSL230 là 20% và là 5% so với TSL230A
Mỗi mạch điện có bề mặt phân cách nhiệt cho phép hoạt động trong dải ánh sáng từ bức xạ tử ngoại đến ánh sáng nhìn thấy với cả với bước sóng từ 300nm đến 700nm. Thiết bị có thể hoạt động tốt trong nhiệt độ cho phép từ -25oC đến 70oC.
1.1.2 Cấu tạo
Hình 1 là ảnh cụp của cảm biến quang học TL230.
Hình 1: Ảnh chụp của cảm biến quang học dùng trong khóa luận (TSL 230)
Đầu thu ánh sáng khả trình là một linh kiện rất thuận lợi cho ta trong quá trình đo đạc, nó có khả năng biến ánh sáng nhận được theo tín hiệu tương tự và biến đổi nó thành xung vuông ở lối ra.
Ta có thể lập trình hay thiết lập được các thông số ví dụ như độ nhạy sáng , tỷ lệ của xung lối ra. Ta có thể truyền trực tiếp đến vi xử lý và dùng để xử lý dữ liệu được truyền tới.
Nguồn cung cấp cho cảm biến là 6V- 2,7V. Tỷ lệ sai số của xung lối ra vào cỡ ±5%
Cấu hình của TSL230 gồm có một loạt các photodiot được đóng gói trong một vỏ nhựa trong suốt có hai hàng chân .
Dãy photodiot đặt bên trong có kích thước vào khoảng 1,36. Các chân của TSL230 được trình bày trên hình 2.
Hình 2: Chân cụ thể của TSL 230.
Chân số 1 : S0 (Chân dùng đặt tỉ lệ độ nhạy của photodiot)
Chân số 2 : S1 (Chân dùng đặt tỉ lệ độ nhạy của photodiot)
Chân số 3 : OE (Enable for f0 , ative low)
Chân số 4 : GND (Chân nối đất )
Chân số 5 : VCC (Chân nối lên nguồn )
Chấn số 6 : OUT (Chân cho xung ra khi có ánh sáng đựơc thu trên photodiot).
Chân số 7 : S2 (Chân chia tỉ lệ của tần số lối vào )
Chấn số 8 : S3 (Chân chia tỉ lệ của tần số lối vào )
1.2. Nguyên tắc hoạt động
1.2.1 Cấu hình đầu ra của TSL230
Cấu hình cho các chân của TSL 230 cho phép ta thu được một dãy các xung vuông ra theo như ý muốn của chúng ta.
S1
S0
S3
S2
Độ nhạy
Tần số chia
L
L
L
L
Power Down
1
H
L
L
H
1x
2
H
L
H
L
10x
10
H
H
H
H
100x
100
Hình 3: Giản đồ xung tại chân ra.
1.2.2 chức năng các chân
Xung ra của TSL 230 sẽ tỉ lệ với cường độ ánh sáng nhận được trên bề mặt của TSL 230. Xung sẽ đưa được trực tiếp đến vi điều khiển để xử lý dữ liệu vào và đưa ra hiển thị kết quả trên LCD.
Bảng dưới là biểu đồ biểu thị các trường hợp cài đặt các chân và sự phối hợp các chân như thế nào .
Tên chân
Ký hiệu(số)
I/O
Chức năng
GND
4
Chân đất
OE
3
I
Enable for fO
OUT
6
O
Chân cho xung ra
S0, S1
1, 2
I
Chỉnh độ nhạy
S2, S3
7, 8
I
Chân chia tỉ lệ tần số nối vào
1.2.3 Khối chức năng
Sơ đồ khối chức năng của thiết bị đo nhịp tim dùng trong khóa luận được trình bày trong hình 4.
Hình 4 Sơ đồ khối chức năng.
1.2.4 Giới thiệu về điều kiện vận hành
1.2.4.1 Những đặc tính hoạt động khi VDD= 5V, TA=25oC
Bảng dưới trình bày đặc tính hoạt động của các cảm biến quang học khác nhau khi hoạt động ở thế VDD= 5V và nhiệt độ TA= 25oC.
Tham số
Điều kiện Chạy
TSL230
TSL230A
TSL230B
Đơn vị đo
Min Typ Max
Min Typ Max
Min Typ Max
S0=H, S1=S2=S3=L
Ee=130nW/cm2
λ P =670 nm
0.8 1 1.2
0.9 1 1.1
0.95 1 1.05
MHz
S0=H,Ee=0 S1=S2=S3=L
0.1 10
0.1 10
0.1 10
Hz
S1=H, S0=S2=S3=L
Ee=130nW/cm2
λ P =670 nm
0.8 1 1.2
0.9 1 1.1
0.95 1 1.05
MHz
fO
S1=H,Ee=0
S0=S2=S3=L
0.13 10
0.13 10
0.13 10
Hz
S0=S1=H, S2=S3=L
Ee=130nW/cm2
λ P =670 nm
0.8 1 1.2
0.9 1 1.1
0.95 1 1.05
MHz
S0=S1=H, S2=S3=L
Ee=0;
0.5 10
0.5 10
0.5 10
Hz
TW
S2=S3
125 550
125 550
125 550
ns
S2orS3=H
1/2fO
1/2fO
1/2fO
s
fO=0 to 10kHz
±0.1%
±0.1%
±0.1%
%F.S
Dung sai
fO=0 to 10kHz
±0.2%
±0.2%
±0.2%
%F.S
fO=0 to 10kHz
±0.5%
±0.5%
±0.5%
%F.S
Nguồn
Tắt
100
100
100
µs
Tỉ lệ
Cho phép OE
50 150
50 150
50 150
ns
1.2.4.2 Điều kiện nguồn nuôi
Các dữ liệu
đầu vào
MIN
NOM
MAX
Đơn vị đo
Điện áp
nguồn, Vdd
2.7
5
6
V
Mức cao input, VIH
Vdd=4.5Vđến 5.5V
2
Vdd
V
Mức thấp input, VIL
Vdd=4.5Vđến 5.5V
0
0.8
V
Khoảng nhiệt độ
hoạt động
-25
70
oC
1.2.4.3 Đặc trưng về điện tại TA= 25oC và Vdd= 5V
Thông số
Điều kiện chạy thử
Min
Nom
Max
Đơn vị đo
VOH
IOH= -4mA
4
4.3
V
VOL
IOL=4mA
0.17
0.28
V
IIH
1
µA
IIL
1
µA
IDD
Nguồn mở
2
3
mA
Nguồn tắt
10
µA
Tần số cao nhất
1.1
±100
MHz
Hệ số nhiệt độ của đầu ra
λ ≤700nm
-25oC≤ TA≤70oC
Ppm/oC
KSVS độ nhạy nguồn
VDD= 5V±10%
1.2.5 Biểu đồ đặc trưng
Dưới đây là một số biểu đồ đặc trưng của cảm biến loại TSL 230A sử dụng trong khóa luận.
1.2.5.1 Tần số và độ sáng
Hình 5: biểu đồ tần số và độ sáng.
1.2.5.2 Độ nhạy đáp ứng phổ
Hình 6: Độ nhạy và đáp ứng phổ.
1.2.5.3 Tần số khi không có ánh sáng
Hình 7: Tần số và nhiệt độ.
1.2.5.4 Hệ số nhiệt độ và bước sóng của ánh sáng tới
Hình 8: hệ số nhiệt độ và chiều dài bước sóng.
1.2.5.5 Tần số đầu ra và nguồn nuôi
Hình 9: Tần số đầu ra và nguồn nuôi
1.3. Một số thông tin cho vấn đề ứng dụng
Trong việc sử dụng bộ cảm biến TSL 230 cần lưu ý các vấn đề sau đây.
1.3.1 Chú ý đến nguồn nuôi
Khi thiết bị làm việc ở điều kiện tốt nhất, nguồn nuôi được nối với một tụ 0.01µ đến 0.1µ.
1.3.2 Đầu ra chung
Đầu ra của thiết bị được thiết kế theo định dạng TTL hoặc CMOS trên cơ sở đầu vào khoảng cách ngắn. Nếu kết nối trên 30 cm thì sử dụng bên ngoài của đầu ra sử dụng bộ đệm hoặc một thiết bị ngoài.
1.3.2.1 Sự hiệu chỉnh độ nhạy
Độ nhạy được điều khiển bởi hai nối vào S0, S1. Độ nhạy sử dụng điều chỉnh được dòng điện một cách rất hiệu quả, bằng cách điều chỉnh độ mở và điều chỉnh bộ đáp ứng của thiết bị đối với số lượng ánh sáng. Độ nhạy có thể chia thành 3 mức 1x, 10x, 100x. Với sự điều chỉnh này cho phép thiết bị hoạt động tối ưu hóa đối với những sự thay đổi nhỏ mà vẫn giữ tín hiệu đầu ra trên giải tần số cho phép. Sự thay đổi độ nhạy này rất có hiệu quả vì chúng ta có thể kiểm soát được hệ số nhân đó.
1.3.1.2 Chia tần số đâu ra
Tỷ số chia tần số đầu ra được điều khiển bởi hai chân S2 và S3. Chia tần số bằng cách đưa tần số tới bộ biến đổi và được cắt thành những xung theo tỉ lệ chia. Tỉ lệ chia có sẵn ở tùy theo ta chọn 1, 2, 10, 100. Sự chia cắt đầu ra là 50% thành những sóng vuông đưa ra trực tiếp và là nhưng sóng cố định có độ rộng xung được tính toán trước.
Đầu ra được hiệu chỉnh nhờ điều chỉnh các mức tại chân S0, S1, S2, S3, để cho ra tần số tùy theo ý đồ của người thiết kế, hoặc có thể sử dụng chân tần số hoạt động ở chân OE.
Sự chia cắt đầu ra làm tối ưu hóa về kĩ thuật đo tần số. Chia cắt bởi 1 hoặc đưa thẳng qua đầu ra thì chỉ cần sử dụng máy đếm tần số hoặc ắc quy xung, hoặc thiết bị bấm giờ cao tốc.
Chia cắt thấp hơn có thể dùng những thiết bị đo đơn giản hơn mà vẫn chính xác mà chỉ cần những kỹ thuật đo đơn giản hơn.
1.3.1.3 Cách đo tần số
Việc lựa chọn kỹ thuật đo và giao diện phụ thuộc vào nhịp độ thu nhận quyết định và dữ liệu mong muốn. Cho dữ liệu cực đại, nhịp độ thu nhận dữ liệu và kỹ thuất đo được sử dụng. Nếu sử dụng hệ số chia 2, thì ta được dữ liệu có tân số băng một nửa đầu ra hoặc một dữ liệu tại mọi thời điểm trong mỗi micro giây cho độ lớn tự nhiên ở đầu ra.
Chúng ta có thể sử dụng trong phép đo có sự thay đổi của ánh sáng với hệ số chia của đầu ra cao hơn để bắt kịp với sự thay đổi của đầu vào.
Ta dùng máy đếm và có thể quy định trước thời gian đếm khi đó ta có thể tính được giá trị của tần số. Phép đo chỉ thực hiện tốt cho những thay đổi chậm chạp của tín hiệu và mức ánh sáng trung bình trong những vùng ánh sáng nhìn thấy.
Định chuẩn:
Ưu điểm đầu tiên mà TSL230 cung cấp là đầu ra biến đổi được. Nếu ta lập trình cho S1 ở mức cao chứ không phải ở mức thấp thì ta có kết quả đầu ra lớn gấp 100 lần so với lúc đầu không chọn. Nếu lấy mẫu trong mỗi mili giây là 10000 lớn hơn là 1000, chúng ta có thể tăng thêm cả thời gian lấy mẫu.
CHƯƠNG 2 - CẤU TRÚC VI ĐIỀU KHIỂN PIC 16F877A
2.1 Mô tả khái quát chung về tính năng của vi điều khiển PIC 16F877A
+ Bộ xử lý trung tâm CPU RISC.
Tập lệnh chỉ gồm 35 lệnh RISC.
Các tập lệnh thực hiện trong 1 chu kỳ máy , trừ các lệnh rẽ nhánh chiếm 2 chu kỳ .
Tốc độ hoạt động : tần số xung nhịp từ 0 Hz đến 20 MHz nhờ thiết kế hoàn toàn tĩnh.
Bộ nhớ chương trình 8k x 14 bit.
Bộ nhớ dữ liệu RAM 368 x b bít.
Bộ nhớ dữ liệu EEPROM 256 x 8 bit.
+ Các thiết bị ngoại vi giao tiếp số
Timer0: bộ đếm / timer 8 bit , có bộ chia trước 8 bit.
Timer1: bộ đếm 16 bit, có bộ chia trước hệ số 1,4,16. đếm xung được trong trạng thái SLEEP với xung đồng nhịp đưa từ bên ngoài .
Timer2 : bộ đếm 8 bit chia trước ,chia sau.
Hai khối compare/capture/PWM thực hiện chức năng so sánh/bắt giữ số xung và điều chế độ rộng xung.
Cổng nối tiếp đồng bộ theo chuẩn giao thức SPI và I2C.
Bộ thu/phát đồng bộ vạn năng URAT có phần cứng phân biệt địa chỉ.
Cổng song song PSP 8bit có chan điều khiển RD,WR,CS.
Có mạch phát hiện sự suy giảm điện áp nguồn, chức năng BOR.
+ Khả năng giao tiếp với tín hiệu tương tự.
Bộ biến đổi tương tự /số 10 bit, 8 kênh và có 2 bộ so sánh tương tự.
+ Khối tạo điện áp chuẩn bên trong lập trình được.
+ Lối ra của so sánh có thể truy nhập từ bên ngoài.
+ Các đặc tính riêng
Đảm bảo 100.000 lần ghi/xóa vào bộ nhớ chương trình flash.
Đảm bảo 1.000.000 lần ghi/xóa vào bộ nhớ dữ liệu EEPROM.
Bộ nhớ dữ liệu kiểu EEPROM lưu được dữ liệu trên 40 năm.
Tự nạp trình dưới sự điều khiển của phần mềm bootstrap qua giao diện nối tiếp.
Nạp trình nối tiếp ICSP.
Điện áp nạp trình 5 V ở chế độ LVP.
Bộ đếm giám sát Watchdog có mạch tạo nhịp RC bên trong , độ lập.
Có cơ chế xóa chống sao chép chương trình.
Chế độ SLEEP tiết kiệm năng lượng.
Nhiều lựa chọn về bộ giao động tạo nhịp RC, LP, XT, HS.
Chức năng gỡ rối chương trình ICD qua 2 chân.
Chế tạo bằng công nghệ CMOS, tiêu thụ ít năng lượng, tốc độ cao.
2.2 Sơ đồ khối chức năng và các chân vào ra
Vi điều khiển PIC có kiến trúc Harvard, trong đó CPU truy cập chương trình và dữ liệu được trên hai bus riêng biệt, nên làm tăng đáng kể băng thông so với kiến trúc Von Neumann trong đó CPU truy cập chương trình và dữ liệu trên cùng một bus.
Việc tách riêng bộ nhớ chương trình và bộ nhớ dữ liệu cho phép số bit của từ lệnh có thể khác với số bit của dữ liệu. Ở PIC 16F877A, từ lệnh dài 14 bit , từ dữ liệu 8 bit.
PIC 16F877A chứa một bộ ALU 8 bit và thanh ghi làm việc WR (working register). ALU là đơn vị tính toán số học và logic, nó thực hiên các phép tình số và đại số Boole trên thanh ghi làm việc WR và các thanh ghi dữ liệu. ALU có thể thực hiện các phép cộng, trừ, dịch bit và các phép toán logic.
Vi điều khiển PIC 16F877A được đóng trong vỏ nhựa hai hàng 40 chân DIP, việc bố trí các lối ra mô tả trong hình10 :
Hinh10: Bố trí chân PIC 16F877A
Hình11 : Sơ đồ khối chức năng của PIC 16F877A.
Hình 11 là sơ đồ khối chức năng của các chân vào ra của vi điều khiển . Ở PIC 16F877A đa số các chân vào ra được sử dụng cho nhiều chức năng .
Các khối chức năng cụ thể cho từng chân vào ra được xác lập khi lập trình qua các thanh ghi chức năng thuộc các khối liên quan chân này.
Tên
Chân
Loại
Mô tả chức năng
OSC1/CLKI
13
I
Dao động tinh thể lối vào dao động ngoài
OSC2/CLKO
14
O
Dao động tinh thể hoặc lối ra xung nhịp
MCLR/Vpp
1
I/P
Lối vào reset. Lối vào điện áp nạp trình Vpp
RA0/AN0
2
I/O
Vào/ ra số. Lối vào analog 0
RA1/AN1
3
I/O
Vào/ ra số. Lối vào analog 1
RA2/AN2/V-reff/CVRef
4
I/O
Vào ra số. lối vào analog 2. Lối vào điện áp chuẩn V-ref của ADC. Lối ra Vref so sánh
RA3/AN3/V+Ref
5
I/O
Vào/ ra số. Lối vào analog 3. Lối vào điện áp chuẩn V-ref của ADC
RA4/TOCKI/C1OUT
6
I/O
Vào/ra số cực máng ngỏ. Lối vào xung ngoài cho timer. Lối ra bộ so sánh 1
RA5/SS/AN4/C2OUT
7
I/O
Vào/ra số. lối vào chọn SOI. Lối vào analog 4. lối ra bộ so sánh 2
RB0/INT
33
I/O
Vào/ra số. Lối vào ngắt ngoài.
RB1
34
I/O
Vào/ra số.
RB2
35
I/O
Vào/ra số.
RB3/PGM
36
I/O
Vào/ra số. Nạp trình LVP
RB4
37
I/O
Vào/ra số
RB5
38
I/O
Vào/ra số
RB6
39
I/O
Vào/ra số. Xung nhịp nạp trình ICSP
RB7
40
I/O
Vào/ra số. Dữ nạp trình ICSP
RC0/T1OSO/T1CKI
15
I/O
Vào/ra số. Tạo dao động timer. Xung nhịp ngoài cho timer 1
RC1/T1OSI/CCP2
16
I/O
Vào/ra số. Tạo timer1. Lối vào Capture. Lối ra Compare2. Lối ra PWM2
RC2/CCP1
17
I/O
Vào/ra số. Lối vào Vào/ra số Capture1. Lối ra PWM1
RC3/SCK/SCL
18
I/O
Vào/ra số. Nhịp đồng bộ choSPI và I2C
RC4/SDI/SDA
23
I/O
Vào/ra số. Vào dữ liệu SPI. Vào/ra dữ liệu I2C
RC5/SDO
24
I/O
Vào/ra số. Ra dữ liệu SPI
RC6/TX/CK
25
I/O
Vào/ra số. Cổng truyền thông không đồng bộ. Xung nhịp truyền đồng bộ
RC7/RX/DT
26
I/O
Vào/ra số. Cổng nhận không đồng bộ. Dữ liệu đồng bộ
RD0
RD1
RD2
RD3
RD4
RD5
RD6
RD7
19
20
21
22
27
28
29
30
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Vào/ra số. Cổng song song tớ
Vào/ra số. Cổng song song tớ
Vào/ra số. Cổng song song tớ
Vào/ra số. Cổng song song tớ
Vào/ra số. Cổng song song tớ
Vào/ra số. Cổng song song tớ
Vào/ra số. Cổng song song tớ
Vào/ra sô. Cổng song song tớ
RE0/RD/AN5
7
I/O
Vào/ra số. Điều khiển RD cổng song song
RE1/WR/AN6
8
I/O
Vào/ra số. Điều khiên WR cổng song song
RE2/CS/AN7
9
I/O
Vào/ra số. Điều khiển CS cổng song song
Vss
12,31
I/O
Đất chung cho lối vàp/ra và analog
Vdd
11,32
I/O
Cấp nguồn dương
2.3 Tổ chức bộ nhớ và các thanh ghi chức năng đặc biệt
Tổ chức bộ nhớ của vi điều khiển PIC 16F877A được trình bày hình 12.
Hình 12: Tổ chức bộ nhớ
Có 3 loại bộ nhớ trong vi điều khiển 16F877A: bộ nhớ chương trình, bộ nhớ dữ liệu RAM, bộ nhớ dữ liệu EEPROM. Bộ nhớ dữ liệu và bộ nhớ chương trình và bộ nhớ dữ liệu có hai bus riêng lên có thể truy nhập đồng thời.
2.3.1 bộ nhớ chương trình Flash.
Vi điều khiển 16F877A có bộ nhớ chương trình flash với dung lượng 8k x 14 bit, chia thanh 4 bank. Thanh ghi của bộ đếm chương trinh PC (Program Counter ) 13 bit , đủ định nghĩa địa chỉ cho 8 k không gian bộ nhớ.
Khi khởi động, bộ đếm chương trình bắt đâu từ địa chỉ 0000h, vector ngắt có địa chỉ 0004h.
Bộ nhớ dữ liệu được ghi vào trong khi lập trình cho vi điều khiển qua bộ nạp trình. Do khả năng tự ghi vào bộ nhớ chương trình nên vi điều khiển 16F877A còn có thể nạp chương trình qua cổng UART dưới sự điều khiển của chương trình Bootstrap.
2.3.2 Bộ nhớ dữ liệu RAM
Bộ nhớ dữ liệu được chia thanh 4 bank trong đó có các thanh ghi đa năng GPR (General Purpose Register ) và các thanh ghi chức năng đặc biệt SER(Specail Function Register). Việc lựa chon các bank được xác định bằng các bit RP1, RP0 của thanh ghi STATUS.
Tổng dung lượng của các GPR RAM là 368 byte, lớn hơn nhiều so với vi điều khiển khác như ở họ 8051 chỉ có 128 byte. Các thanh ghi GPR được sử dụng để lưu giá trị các biến trong chương trình. Các thanh ghi đặc biệt SFR dùng để quản lý, điều khiển chức năng của tất cả các khối thành phần bên trong vi điều khiển.
Tổ chức của các thanh ghi chức năng SFR được trình bày trên hình 13.
Hình 13: Tổ chức thanh ghi chức năng SFR
2.3.3 Bộ nhớ dữ liệu EEPROM
Một bộ nhớ dữ liệu đặc biệt kiểu EEPROM dung lương 256 byte được tích hợp trong PIC 16F877A và được xem như thiết bị ngoại vi được nối vào bus dữ liệu, bộ nhớ này có thể ghi đọc trong quá trình hoạt động dưới sự điều khiển của chương trình. Bộ nhớ EEPROM thường dùng các lưu trữ các chương trình không bị thay đổi như các hằng chuẩn, các dữ liệu của người sử dụng. và không bị mất đi khi ngắt nguồn nuôi. Các thanh ghi chức năng đặc biệt EECON, EECON2, EEADR, EEADRH được sử dụng để truy cập đến bộ nhớ này.
2.4 Các cổng vào/ra
2.4.1 Cổng A
Cổng A là cổng vào/ ra 6 bit, 2 hướng xem hình 14. Thanh ghi định hướng cổng là TRISA. Bít “1” trong thanh ghi TRISA đặt bộ điều khiển lối ra tương ứng về trạng thái trở kháng cao. Bít “0” trong thanh ghi TRISA đặt nội dung của thanh ghi chốt ra lên chân tương ứng. Việc đọc cổng A là đọc mức logic của các chân vào bus. Việc ghi ra cổng là ghi vào thanh ghi chốt lối ra PORTA.RA4 là lối vào trigger Schmitt và lối ra cực máng ngỏ.
Hình 14:Cổng A
Chân RA4 dùng chung với lối vào xung nhịp cho timer0 khi dùng bộ đếm xung từ bên ngoài.
Các chân khác của cổng A được ghép lối vào của các bộ so sánh tương tự và bộ biến đổi ADC 8 kênh. Việc lựa chọn vào cho ADC được chọn bởi bit điều khiển trên hai thanh ghi ADCON1 và ADCON2.
2.4.2 Cổng B
Cổng B là cổng 8 bit vào/ra hai hướng xem hình 15. Thanh ghi định hướng cổng là TRISB. Thanh ghi chốt lối ra cổng B là PORTB.
Chân RB0 có thể lựa chọn là lối vào của ngắt ngoài Extint, lối vào này lập cờ ngắt INTF khi có sườn lên hoặc sườn xuống của xung tùy thuộc vào giá trị bít INTEDG trong thanh ghi OPTION.
Hình 15: Cổng RB và RB
Có 3 chân của cổng B được ghép lối với chức năng ICSP là RB6, RB7, RB3 tương ứng với lối vào PGC, PGD, LVP khi nạp trình. Mỗi chân trong cổng B được nối tới một điện trở kéo lên (pull- up) có trị số 20kΩ bên trong. Việc lựa chọn dùng/không dùng các điện trở này bằng cách xóa/đặt bít RBPU trong thanh ghi OPTION.
Lối vào RB4 và RB7 làm phát sinh ngắt RBIF khi thay đổi trạng thái khi các chân này định nghĩa là các lối vào. Trạng thái hiện tại của lối vào này được so sánh với trạng thái được chốt lại tại lần đọc trước đó. Khi có sự khác nhau thì cờ ngắt RBIF được lập.
2.4.3 Cổng C
Hình 16 Cổng C.
Cổng C là cổng 8 bit vào/ra hai hướng xem hình 16. Thanh ghi định hướng cổng là TRISC. Các chân của cổng C được ghép với các chức năng ngoại vi. Các lối vào của cổng C có bộ đệm kiểu trigger Schmitt. Bảng dưới đây liệt kê các chức năng ghép của cổng C.
Tên chân
Bít
Chức năng, ý nghĩa
RC0/T1OSO/T1CK1
Bit 0
Cổng vào/ra . lối tạo Timer 1.Lối vào xung nhịp Timer1
RV1/T1OSI/CCP2
Bít 1
Cổng vào/ra. Lối vào dao động Timer 1. Lối vào Capture2/lối ra compảe2. Lối ra PWM2
RC2/CPP1
Bit 2
Cổng vào/ra. Lối vào capture1/lối ra compare1. Lối ra PWM1
RC3/SCK/SCL
Bit 3
Lối ra xung nhịp của chế độ truyền đồng bộ tuần tự SPI hoặc I2C
RC4/SDI/SDA
Bit 4
Lối vào DATA của chế độ SPI, DATA I/O của I2C
RC5/SD0
Bit 5
Cổng vào/ra. Lối ra của cổng truyền đồng bộ tuần tự
RC6/TX/CK
Bit 6
Cổng vào/ra. Lối ra Tx của USART. Xung nhịp chế độ truyền đồng bộ
RC7/RX/DT
Bit 7
Cổng vào/ra. Lối vào Rx của USART. Dữ liệu chế độ truyền đồng bộ
2.4.4 Cổng D
Hình 17: Cổng D.
Cổng D là cổng 8 bit vào/ra hai hướng (xem hình 17). Thanh ghi định hướng cổng là TRISD. Các lối vào của cổng D có bộ đệm trigger schmitt. Cổng D có thể định dang là cổng song song 8 bit kiểu Slave, việc điều khiển các chức năng đọc/ghi/chọn cổng sử dụng các chân RE0/RE1/RE2 của cổng E.
2.4.5 Cổng E
Cổng E là cổng vào ra hai hướng gồm các chân RE0/RD/AN5, RE1/WR/AN6, RE2/CS/AN7 (xem hình 18). Thanh ghi TRISE định hướng cổng là vào/ra. Thanh ghi PORTE ghi các giá trị cần đưa ra cổng. Cổng E còn là các lối vào/ra điều khiển cổng vào/ra song song khi cổng D được thiết lập là cổng vào/ra song song. Các chân RE0/RE1/RE2 còn kênh vào điện áp tương tự thứ 6,7,8 của bộ biến đổi ADC.
Hình 18: Cổng E.
2.5 Các khối TIMER
2.5.1 Khối timer0
Khối timer0 (xem hình 19) là bộ đếm thời gian các đặc tính sau:
Bộ đếm 8 bit
Ghi/đọc được.
Có bộ chia 8 bit lập trình được.
Chọn xung nhịp bên ngoài hoặc bên trong.
Sinh ngắt TOIF khi tràn chuyền từ FFh→ 00h.
Chọn sườn xung khi lấy xung nhịp từ bên ngoài.
Timer0 dùng làm bộ đếm xung nhịp của vi điều khiển vể tạo ra một bộ đếm thời gian. Chế độ đếm thời gian được chọn bằng cách đặt bit T0CS = 0 (bit OPTION). Trong các chế độ đếm thời gian, thanh ghi TMR0 tăng một đơn vị sau mỗi chu kỳ máy. Thanh ghỉ TMR0 có thể được ghi đọc trong chương trình để xác lập hoặc lấy giá trị hiện thời của timer0.
Hình 19: Sơ đồ khối Timer0.
Timer0 dùng để đếm các xung từ bên ngoài cấp vào chân RA4. Chế độ đếm xung được chọn bằng cách đặt T0CS = 1. Trong chế độ này thanh ghi Timer0 tăng một đơn vị sau mỗi sườn lên hoặc sườn xuống tùy thuộc vào trạng thái của bit T0SE.
Bộ chia trước được dùng chung cho hai khối watchdog và Timer0. Việc gắn bộ chia trước cho khối nào được chọn bằng bít PSA(OPTION). Hệ số chia phụ thuộc giá trị của bit PS2:PS1:PS0 của thanh ghi OPTION.
Ngắt timer0 xảy ra khi thanh ghi TMR0 tràn, chuyển từ FFh→00h. Sự tràn này sẽ đặt bít T0IF = 1. Ngắt T0IF có thể che bằng bit T0IE. Cờ T0IF phải được xóa bằng phần mềm.
2.5.2 Khối Timer1
Hình 20: Sơ đồ khối Timer1.
Timer1 (xem hinh 20) là bộ đếm 16 bit được cấu tạo từ hai thanh ghi 8 bit TRM1H và TMR1L. Là hai cặp thanh ghi TRM1Hvà TMR1L tăng từ 0000h đến FFFFh rồi trở về 0000h. Ngắt TMR1IF nếu được cho phép sẽ tạo ra khi bộ đếm chuyển từ FFFFh về 0000h và lập bit TRM1IF. Ngắt này có thể cho phép /không cho phép bằng cách lập/xóa bit TMR1IE Thanh ghi T1CON để đặt các chế độ cho timer1.
-
-
T1CKPS1
T1CKPS0
T1OSCE
T1SYNC
TMR1CS
TMR1ON
Timer1 có thể làm việc trong hai chế độ: là bộ định thời gian hoặc là bộ đếm xung. Ý nghĩa các bít của thanh ghi T1CON
Bít 7-6 : không dùng
Bít 5-4 : T1CKPS1 chọn hệ số bộ chia trước
11= chia 8 01 = chia 2
10 = chia 4 00 = chia 1
Bit 3: T1OSCEn cho phép dùng bộ dao động
1 = bật bộ dao động
0 = có đồng bộ với xung nhịp
Bit 1 TMR1CS chọn nguồn xung nhịp
1 = xung nhịp ngoài đưa vào từ chân RC1
0 = xung nhị bên trong, bằng 1/ 4 tần số bên ngoài của dao động thạch anh
Bit 0 : TMR1ON bật/ tắt timer1
1 = bật timer1 – cho phép đếm
0 = tắt timer 1 – dừng đếm
3.5.3 Khối Timer2
Timer2 là bộ đếm 8 bít chia trước và chia sau. Nó có thể sử dụng được sử dụng như là bộ điều khiển chế độ xung PWM (Pulse Width Modulation ) trong khối CCP.
Hình 21 : Sơ đồ khối Timer2
Xung nhịp vào ( XTAN/4 ) qua bộ chia trước có các tỉ số 1:1 , 1:2 , 1:4 , 1:16 được chọn bằng hai bit T2CKPS1:T2CKPS0.
Timer2 có thanh ghi 8 bit PR2. Timer2 tăng từ 00h đến khi bằng giá trị lưu ở trong PR2 được gán là FFh khi khởi động lại.
Lối ra “bằng nhau” EQ của TMR2 đưa vào bộ chia sau 4 bit 1:1 , 1:2 , … 1:16 tạo ra ngắt TMR2 (lập trình TMR2IF = 1).
Timer2 có thể được tắt khi sử dụng đến bằng cách đặt lại bit TMR2CON = 0 nhằm giảm công suất tiêu thụ.
2.6 Cổng nối tiếp đồng bộ I2C
Hình 22: Khối MSSP
MSSP là khố điều khiển bus I2C hoạt động ở chế độ chủ (Master Mode ) hoặc chế độ tớ (Slave Mode ) (xem hinh 22). Khối này còn tạo ra các ngắt tại các bit START và STOP để xác định trạng thái bus trong chế độ đa chủ (Multi Master Mode ) (nhiều thiết bị I2C truy nhập tới thiết bị I2C tớ trong bus ).
Khối MSSP thực hiện các chế độ làm việc chuẩn 7 bit hoặc 10 bit địa chỉ.
Hai chân dùng để trao đổi dữ liệu là :
Xung nhịp SCL-RC3/SCK/SCL.
Dữ liệu nối tiếp SDA-RC4/SDI/SDA.
Các thanh ghi được sử dụng cho hoạt động các bus của I2C là:
Thanh ghi điều khiển MSSP(SSPCON).
Thanh ghi điều khiển 2 (SSPCON2).
Thanh ghi trạng thái (SSPSTAT).
Thanh ghi dịch (SSPSR).
Thanh ghi địa chỉ MSSP(SSPADD).
SSPCON , SSPCON2, SSPSTAT là thanh ghi điều khiển và đặt trạng thái của khối giao tiếp chuẩn I2C.
SSPSR là thanh ghi dịch để dịch dữ liệu ra/vào, không truy nhập trực tiếp. SSPBUF là thanh ghi đệm để dữ liệu được ghi vào/đọc ra.
SSPADD dùng để lưu địa chỉ của thiết bị tớ khi khối SSP được cấu hình là thiết bị tớ. Khi được cấu hình là thiết bị chủ, 7 bít thấp của SSPADD dùng để lưu giá trị mạch tạo tốc độ baud.
Trong chế độ nhận SSPSR và SSPBUF tạo thành cặp thanh ghi đệm kép. Khi SSPSR nhận đủ một byte, nó chuyển byte dữ liệu sang SSPBUF và lập cờ ngắt SSPIF.
Trong khi truyền việc viết một byte dữ liệu vào SSPBUF sẽ ghi vào cả hai thanh ghi SSPBUF và SSPSR.
2.7 Bộ thu phát không đồng bộ vạn năng UART
Bộ thu phát không đồng bộ UART truyền dữ liệu theo kiểu NRZ: bit START-8 bit dữ liệu – bit STOP. Một khối BRG (Baud Rate Generator) bên trong có vai trò tạo các tốc độ baud theo tiêu chuẩn bằng cách chia tần số xung nhịp lấy từ mạch dao động. Chức năng tạo bít kiểm tra chẵn lẻ không được hỗ trợ trên phần cứng nhưng điều này có thể thực hiện bằng phần mềm.
2.7.1 Khối truyền thông đồng bộ
Phần chính của khố là thanh ghi dịch TSR, nó nhận dữ liệu cần gửi từ thanh ghi TXREG trước đó được khối xử lý ghi vào (xem hình 23). TSR được nạp khi bít STOP của khung dữ liệu trước đã được truyền đi. Ngay sau khi bit STOP kết thúc TSR được nạp bằng nội dung của TXREG. TXREG rỗng và cờ ngắt TXIF được lập báo trạng thái TXREG đang rỗng. Việc truyền có thể được cho phép/cấm bằng cách lập/xóa bit TXEN.
Hình 23: Khối truyền thông không đồng bộ
2.7.2 Khối nhận không đồng bộ
Phần chính của bộ nhận nối tiếp là thanh ghi dịch nối tiếp RSR (xem hình 24). Sau khi lấy mẫu bit STOP, dữ liệu nhận RSR chuyển sang thanh ghi RCREG nếu thanh ghi này đang rỗng. Nếu việc chuyển thanh công, cờ ngắt RCIF được lập.
Hình 24: Khối nhận không đồng bộ.
RCREG là thanh ghi đệm kiểu FIFO cho phép lưu hai byte trong RCEG trong khi byte thứ 3 đang được dịch trong RSR. Nếu bit STOP của byte thứ 3 được nhận mà thanh ghi RCREG vần đang đầy thì bit báo lỗi tràn OERR(Oveflow Error) được lập để báo có sự tràn của bộ phận và byte nhận sẽ bị loại bỏ. Một bit báo lỗi khung truyền FERR (Frame Error) được lập khi không nhận được bit STOP.
2.8 Khối chuyển đổi tương tự/số ADC
Khối chuyển đôi tương tự/số có 8 lối vào được tích hợp trong vi điều khiển PIC16F877A có độ phân giải 10 bit (xem hình 25). Khối ADC có lối vào cho mức điện áp chuẩn V-ref và V+ref. Điện áp chuẩn cho khối ADC có thể lựa chọn bằng phần mềm với các điện áp nguồn Vdd/Vss hoặc điện áp chuẩn từ bên ngoài qua chân RA3/RA2.
Khối ADC có 4 thanh ghi
ADRESH lưu phần byte cao của kết quả biến đổi ADC
ADRESL lưu phần byte thấp của kết quả biến đổi ADC.
ADCON0 thanh ghi điều khiển 0.
ADCS1
ADCS0
CHS2
CHS1
CHS0
GO/DONE
-
ADON
ADCS1: ADCS0 Chọn nguồn xung nhịp và tốc độ cho khối biến đổi ADC.
CHS2: CHS0 Chọn kênh đưa vào biến đổi.
GO/DONE Trạng thái chuyển đổi.
ADON Bật/tắt khối chuyển đổi ADC.
Hình 25: Khối ADC
ADCON1 Thanh ghi điều khiển 1
ADFM
ADCS2
-
-
PCFG3
PCGF2
PCGF1
PCGF0
ADFM Định dạng kết quả biến đổi ADC
ADCS2 Lựa chọn tần số, nguồn xung nhịp cho khối ADC
PCFG3: PCFG0 Chọn cấu các lối vào khối ADC
2.9 Các đặc điểm riêng và thiết lập cấu hình PIC
2.9.1 Các điểm mới trong vi điều khiển PIC 16F877A
Vi điều khiển PIC 16F877A có nhiều bộ phận, đặc tính được tích hợp thêm để làm tăng tối đa độ tin cậy, giảm giá thành hệ thống do ít cần dùng thêm linh kiện cần thiết bên ngoài, có chế độ tích kiệm năng lượng và khả năng chống sao chép nội dung của chương trình.
Lựa chọn nguồn xung nhịp:
Tùy theo tần số và linh kiện tạo dao động để chọn một trong 4 cấu hình :
LP bộ dao động thạch anh công suất thấp, tần số < 200kHz.
XT bộ dao động thạch anh chuẩn, tần số 1MHz đến 4 MHz.
HS bộ dao động thạch anh tần số cao, tần số 4MHz đến 20 MHz.
RC bộ dao động đơn giản dùng điện và tụ điện.
Các mạch tạo trạng thái khởi động lại RESET
Hình 26: Các khối tạo tín hiệu RESET
Khối tạo ra tín hiệu RESET (xem hình 26) tạo ra các tín hiệu RESET khác nhau cho vi điều khiển tùy theo các điều kiện sau:
Reset khi vi điều khiển mới được cấp nguồn POR (Power on Reset)
Lối vào MCRL Master Clear trong chế độ hoạt động bình thường.
Lối vào MCRL Master Clear trong chế độ nghỉ SLEEP.
Bộ đếm WDT tràn tạo ra tín hiệu Reset khi hoạt động bình thường.
Bộ đếm WDT tràn tạo ra tín hiệu Wake-up trong chế độ SLEEP.
Khối giám sát điện áp nguồn tạo tín hiệu Reset khi nguồn cấp sụt quá ngưỡng.
Các ngắt Interrupt
Trong vi điều khiển PIC 16F877A có 15 nguồn sinh ra ngắt (xem hinh 27). Thanh ghi điều khiển ngắt INTCON ghi các cờ ngắt và các bit cho phép ngắt toàn cục GIE, T0IF, RBIF. Các ngắt từ các thiết bị ngoại vi được ghi trong thanh ghi PIR1 và PIR2, các bit cho phép ngắt ngoại vi trong thanh ghi PIE1, PIE2.
Hình 27: tổ hợp logic các nguồn ngắt.
Khi cờ ngắt được lập, cờ cho phép ngắt GIE được xóa để cấm các ngắt khác. Địa chỉ sẽ quay lại để cất vào ngăn xếp và thanh ghi đếm chương trình PC được nạp giá trị 0004h là địa chỉ của chương trình xử lý ngắt.
Nguồn sinh ngắt được xác định bằng cách hỏi vòng các cờ ngắt. Sau khi xử lý xong ngắt, cờ ngắt tương ứng phải được xóa để thoát vòng lặp ngắt.
Bộ đếm watchdog
Bộ đếm watchdog là một nộ đếm xung từ một khối dao động riềng độc lập với xung nhịp của vi điều khiển, nó có chức năng giám sát hoạt động của chương trình (xem hình 28). Nếu vi điều khiển do bị treo do lỗi phần mềm thì vi điều khiển có thể tự khởi động lại.
Khi sử dụng bộ giám sát watchdog, chương trình phải được thiết kế sao cho bộ đếm watchdog phải được xóa về 0 sau một chu kỳ nhất định để bộ đếm này không bị tràn. Nếu vì một lý do nào đó chương trình xóa bộ đếm watchdog bộ đếm bị tràn : chuyển từ FFh về 00h sẽ sinh ra tín hiệu WDT time out Reset.
Khối watchdog dùng chung bộ chia trước với Timer0. Chu kỳ tràn của bộ đếm watchdog có thể xác lập trong dải 18.2ms đến 2,5s.
Hình 28: Khối chức năng mạch watchdog
2.9.2 Định cấu hình – Từ cấu hình (Config Word)
Việc xác định các chế độ làm việc hay thiết lập các lựa chọn riêng cho vi điều khiển PIC 16F877A được thực hiện bằng việc thiết lập/xóa các bit chức năng trong một từ mà điều khiển đặc biệt gọi là Từ cấu hình (Config Word ) tại địa chỉ 2007h. Từ cấu hình này chỉ được truy nhập thay đổi trong quá trình nạp trình.
Từ cấu hình gồm 14bit, trong đó có 3 bit không dùng.
Ý nghĩa các bit trong cấu hình.
CP Bảo vệ bộ nhớ chương trình.
1 = cho phép đọc chương trình trong bộ nhớ ra
0 = cấm đọc chương trình.
DEBUG Cho phép debug trên hệ thống.
1 = không sử dụng debug trên hệ thống : RB6 , RB7 là chân vào/ra.
0 = Sử dụng debug trên hệ thống: RB6, RB7 là chân nối đến mạch debug.
WRT1:WRT0 cho phép ghi vào bộ nhớ chương trình.
11 = Không chống ghi tất cả mọi địa chỉ.
10 = 0000h – 00FFh bị cấm ghi đè.
01 = 0000h – 03FFh bị cấm ghi đè.
00 = 0000h – 0FFFh bị cấm ghi đè.
CPD Bảo vệ bộ nhớ dữ liệu.
1 = cho phép đọc bộ nhớ dữ liệu ra.
0 = cấm đọc ra.
LVP Cho phép chế độ nạp trình điện áp thấp.
1 = RB3/PGM có chức năng nạp trình.
0 = RB3 là chân vao/ra.
BOREN Cho phép khởi động lại nguồn cung cấp sụt quá ngưỡng.
1 = cho phép BOREN.
0 = cấm BOREN.
PWRTEN Cho phép bộ đếm timer khi bật nguồn.
1 = cấm PWRT.
0 = cho phép PWRT.
WDTEN Cho phép bộ giám sát watchdog.
1 = cho phép WDT.
0 = cấm WDT.
FOSC1: FOSC0 lựa chon nguồn dao độn.
11 = dao động RC. 01 = dao động XT
10 = dao động HS. 00 = dao động LP
CHƯƠNG 3: XÂY DỰNG HỆ ĐO NHỊP TIM
3.1. Giới thiệu về LED
Hình 29 : Hình ảnh của LED
LED (viết tắt của Light Emitting Diode, có nghĩa là điốt phát quang) là các điốt có khả năng phát ra ánh sáng hay tia hồng ngoại, tử ngoại (xem hình 29). Cũng giống như điốt, LED được cấu tạo từ một khối bán dẫn loại p ghép với một khối bán dẫn loại n.
Led là một nguồn ánh sáng được lựa chọn cho việc đo nhịp tim. Kích thước của chúng là một đặc tính tuyệt vời cho việc điều khiển và truyền dẫn. Ánh sáng của chúng phát ra rộng trên một giải phổ rất hẹp tạo cho chúng một ý tưởng chọn lựa cho nguồn sáng, giữa nguồn ánh sáng đỏ và ánh sáng hồng ngoại sử dụng trong đo nhịp tim.
Những Led sẵn có thì thường có bước sóng trên 700 nm, từ ánh sáng màu xanh của khoảng phổ nhìn thấy cho đến vùng hồng ngoại gần.
3.2.1 Hoạt Động
Hình 30 : Hoạt động của LED giống với nhiều loại điốt bán dẫn
Khối bán dẫn loại p chứa nhiều lỗ trống tự do mang điện tích dương nên khi ghép với khối bán dẫn n (chứa các điện tử tự do) thì các lỗ trống này có xu hướng chuyễn động khuếch tán sang khối n. Cùng lúc khối p lại nhận thêm các điện tử (điện tích âm) từ khối n chuyển sang. Kết quả là khối p tích điện âm (thiếu hụt lỗ trống và dư thừa điện tử) trong khi khối n tích điện dương (thiếu hụt điện tử và dư thừa lỗ trống).
Ở biên giới hai bên mặt tiếp giáp, một số điện tử bị lỗ trống thu hút và khi chúng tiến lại gần nhau, chúng có xu hướng kết hợp với nhau tạo thành các nguyên tử trung hòa. Quá trình này có thể giải phóng năng lượng dưới dạng ánh sáng (hay các bức xạ điện từ hình 30 a).
Nguyên lý hoạt động của diode phát quang (LED) là sự tái hợp bức xạ của điện tử và lỗ trống trong vùng chuyển tiếp p-n của chất bán dẫn khi phân cực thuận. Khi phân cực thuận điện tử được tiêm (bơm) từ nguồn nuôi vào phía bán dẫn loại n và lỗ trống vào phía bán dẫn loại p. Tại vùng chuyển tiếp p-n các điện tử và lỗ trống tiêm vào tái hợp với nhau sinh ra bức xạ tự phát (hay huỳnh quang). Bức xạ tự phát gồm các photon có năng lượng hn = Eg, có các hướng lan truyền, pha và phân cực khác nhau, đó là ánh sáng phát ra của LED (Hình 30 b). Tuy nhiên, cấu trúc LED với lớp chuyển tiếp p-n đơn thuần cho hiệu suất phát quang rất yếu nên những LED trên thực tế có cấu trúc dị chuyển tiếp dị thể (heterojunction) kép.
Bước sóng ánh sáng LED phát ra phụ thuộc vào vật liệu ở vùng tích cực, hay cụ thể hơn - vào độ rộng vùng cấm Eg của vật liệu này.
l = hn /Eg » 1,24/ Eg
Với l tính theo mm và Eg theo eV.
Hình 31.c: Phổ quang của LED
Hình 31.b: Đặc trưng dòng - thế (I-V) của LED
Hình 31.a: Đặc trưng công suất quang – dòng bơm của LED
3.2.2 Một số tính chất cơ bản của LED
Đặc trưng công suất quang – dòng bơm (P-I) là đặc trưng quan trọng nhất của LED (Hình 30.a). Đường cong P-I là gần tuyến tính, ở dòng bơm lớn đường cong sẽ hở nên bão hoà do sự vượt qua rào thế của các hạt tải bơm vào làm giảm nồng độ hạt tải trong vùng tích cực của LED. Đường cong I-V của LED (hình 30.b) là đường cong phi tuyến được xác định bởi phương trình Shockley
I = Is [ exp(bV)-1]
Với b = q/hkBT, V là thế đặt vào (sụt trên diode), q - điện tích điện tử, kB - hằng số Boltzmann, T là nhiệt độ. Khi dòng bơm ¹ 0 sụt thế trên chuyển tiếp tăng đột ngột tới giá trị Vf (sụt thế thuận), sau đó thế tăng từ từ và đạt gía trị không đổi khi dòng bơm tăng tiếp trong trường hợp lý tưởng. Khi có điện trở nối tiếp của LED V tăng tiếp tục khi I tăng. Hiệu suất lượng tử ngoại của LED là hiệu suất chuyển đổi năng lượng điện thành năng lượng quang phát ra được tính theo công thức:
hext = (Pout/IV) x 100%
Với Pout là công suất quang, I và V là dòng bơm và thế sụt trên LED.Phổ quang của LED có độ bán rộng phổ Dl có thể tính gần đúng theo công thức:
Dl [mm] » l2 [mm] (3kT/hc) [eV]
Với l là bước sóng danh định của LED, k- hằng số Boltzmann và T là nhiệt độ chuyển tiếp, h - hằng số Planck, c - tốc độ ánh sáng.
Chùm tia sáng của LED phát trên mặt là đối xứng (góc mở 2a ~ 2 x 90o) do vùng phát ánh sáng thường là hình tròn (f ~ 0,4 ¸ 1,5 mm) trong khi LED phát ở phía cạnh chùm sáng có dạng elip với góc mở 2q ~ 2 x 90o theo hướng song song và góc mở 2q ~ 2 x 45o theo hướng vuông góc với lớp chuyển tiếp p-n. Phân bố chùm tia của LED phát cạnh theo hàm Lambertian (~ bocosq) cho hướng song song với chuyển tiếp p-n. Cho hướng vuông góc với chuyển tiếp p-n phân bố chùm tia hẹp hơn nhiều do sự phân kỳ bị hạn chế bởi dẫn sóng tầng (slab) theo hướng vuông góc với chuyển tiếp (bề dày vùng tích cực 0,05 ¸ 0,25 mm trong khi độ rộng 50 ¸ 70 mm). Đối với LED phát mặt, phân bố chùm tia tuân theo hàm Lambertian.
3.2 Giới thiệu về phương pháp đo nhịp tim
3.2.1 Giới thiệu
Phương pháp kiểm tra tình trạng sinh lý con người bằng phương pháp quang học là phương pháp cho phép ta có thể đo một cách đơn giản và hiệu quả mà không cần can thiệp trực tiếp vào cơ thể con người nhưng vẫn đảm bảo được các yêu cầu về y học.
Chúng ta có hai cách truyền ánh sáng qua mẫu đo, phương pháp đo truyền qua và phương pháp đo hệ số phản xạ. Trong đó phương pháp truyền qua được sử dụng nhiều nhất.
Phương pháp truyền qua có một Led sẽ đặt đối diện với một linh kiện thu ánh sáng, mẫu thử sẽ được đặt ở giữa.
Phương pháp phát xạ thì chúng đựoc đặt nối tiếp nhau trên cùng một đế, ở trên mẫu thử . Phương pháp này được ít dùng hơn.
Phương pháp này sử dụng ánh sáng vùng khả kiến (màu đỏ) và vùng bức xạ hồng ngoại gần để phân tích trực tiếp tình trạng sinh lý của cơ thể mà không cần phải xét nghiệm máu hay nước tiểu.
Trong luận văn của em dựa trên sự hấp thụ ánh sáng của máu khi cho ánh sáng truyền qua một ngón tay ta có thể xác định được nhịp tim của bệnh nhân.
Sự hấp thụ ánh sáng của máu thay đổi là do hàm lượng oxi trong máu. Hemoglobin là chất mang oxi đi nuôi cơ thể, khi Hb chuyển sang chuyển sang HbO2 chính là tương ứng với một nhịp tim. Ta cũng có sự thay đổi oxi trong tế bào nhưng sự thay đổi này cũng tương ứng với sự thay đổi của oxi trong máu và sự thay đổi này rất nhỏ lên không ảnh hưởng tới kết quả.
3.2.2 Hemoglobin (Hb)
Hemoglobin là sắc tố của hồng cầu, màu đỏ da cam, có nhiệm vụ gắn oxi của khí trời tại mang (cá) hoặc phổi (động vật có phổi) chuyển đến các nơi trong cơ thể để giải phóng oxi ra cho tế bào sử dụng (oxi từ máu ngấm vào tế bào bằng khuếch tán thẩm thấu).Hemoglobin nhận cacbon đioxit chuyển đến mang hoặc phổi và thải ra ngoài. Mỗi Hemoglobin có khoảng 94% globin (phần protein), liên kết với 6% heme (phần không chứa axit amin). Phân tử khối 64.500, chứa 4 nhóm heme do đó có 4 nguyên tử sắt trong phân tử.
Cấu trúc 3 chiều của hemoglobin được biểu diễn trên hình 32. Bốn đơn vị con được hiển thị bằng màu đỏ và vàng, và nhóm heme thì màu xanh lá cây.
Hình 32: Cấu trúc 3 chiều của Hemoglobin.
Hemoglobin, hay haemoglobin, (viết tắt Hb) - huyết sắc tố - là một protein phức tạp chứa phần tử sắt có khả năng thu nhập, lưu giữ và phóng thích ôxy trong cơ thể động vật hữu nhũ và một số động vật khác.
Thuật ngữ hemoglobin là sự kết hợp của heme và globin, để cho thấy rằng mỗi đơn vị con của hemoglobin là một protein cấu trúc hình cầu với nhóm Heme (hay haem) đính kèm; mỗi nhóm heme chứa một phân tử sắt, và nó đảm nhiệm cho việc gắn kết với ôxy . Các loại hemoglobin chung nhất đều chứa bốn đơn vị con, mỗi đơn vị kèm theo một nhóm Heme.
Hình 33 cho ta ảnh cụ thể của hemoglobin trong tế bào hồng cầu.
Hình 33: Ảnh cụ thể của Hemoglobin
Đặc trưng quan trọng nhất của Hb là khả năng kết hợp thuận nghịch với phân tử oxi, tạo nên hợp chất không bền oxihemoglobin. Trong phần heme thì sắt ở dạng hoá trị 2 (dạng khử) và không thay đổi trong liên kết với oxi. ở các loài khác nhau, có các dạng Hb khác nhau do có sự thay đổi chuỗi polipeptit. Sự kết hợp Hb với oxi phụ thuộc vào áp suất riêng của oxi, quá trình này còn phụ thuộc vào độ pH, áp lực oxi giảm xuống khi pH thấp. Sự phụ thuộc này gọi là hiệu ứng Bo (Bohr). Cacbon đioxit cũng có thể kết hợp với Hb ở các nhóm amin của nó như trong một số trường hợp bất thường (ngộ độc khí đốt) Hb gắn dễ dàng với cacbonđioxit làm thành một hợp chất rất bền cacboxihemoglobin.
Người ta đã định lượng được Hb trong máu ngoại vi ở người bình thường: nam 160 g/l ± 20 g/l; nữ 140 g/l ± 20 g/l; trẻ sơ sinh 195 g/l ± 5 g/l; trẻ một tuổi 112 g/l; trẻ 10 tuổi 120 g/l. Có hai thể thiếu máu: thiếu máu nhược sắc (giảm Hb), thiếu máu bất thường với lượng Hb bình thường nhưng giảm số lượng huyết cầu.
3.2.3 Định luật Beer
Định luật Beer (Còn được gọi là định luật Beer Lamber hoặc đinh luật Bouguer) miêu tả sự làm yếu đi của ánh sáng truyền qua một môi trường trung gian bao gồm một dạng hấp thụ của vật chất. Nếu như ánh sáng tới đơn sắc có cường độ là IO qua môi trường, một phần của ánh sáng này sẽ đựơc truyền qua môi trường trung gian trong khi phần khác sẽ được hấp thụ . Cường độ ánh sáng I sẽ truyền qua sẽ giảm dần theo số mũ của khoảng cách.
*: Hệ số suy giảm hoặc hấp thụ của vật chất tại những bước sóng đặc thù λ.
* c : Hệ số của quá trình hấp thụ vật chất mà nó là hệ số của môi trường trung gian bất biến không thay đổi (c = const).
* d : Hệ số phần độ dài quang học truyền qua môi trường hấp thụ.
Hệ số c được đo bằng mmol và hệ số làm suy giảm được đo bằng .
Định luật Beer dựa trên những tính chất tổng hợp của sự truyền và hấp thụ ánh sáng tới. Nó không đến các quá trình vật lí, gồm sự phản xạ của ánh sáng trên bề mặt của môi trường trung gian hoặc sự tán xạ của ánh sáng trên môi trường trung gian.
Định luật Beer được sử dụng chính xác cho việc xác định sự bão hoà ôxi trong hỗn hợp Hemoglobin nhưng không áp dụng cho tất cả máu trong cơ thể vì sự phân tán của ánh sáng chiếu tới . Tuy thế cách thức làm như vậy sẽ giúp cho chúng ta hiểu sự hấp thụ của ánh sáng như là sự đi xuyên qua tế bào sống , ta có thể dựa vào sự thay đổi đó để tìm ra nhịp tim. Do nhịp tim thay đổi chậm lên phương pháp này rất chính xác.
Trong thực tế của các mô sinh học thì sự tán xạ là cao và định luật này là gần đúng.
Trong luận văn này em dùng sensor TSL 230R để đánh giá sự thay đổi về cường độ sáng khi qua mẫu (ngón tay) và từ đó có thể tính được nhịp tim.
3.4 Phương pháp đo nhịp tim bằng sensor TSL230R
Để đo nhịp tim của một bệnh nhân ta dùng một đèn LED màu đỏ chiếu vào ngón tay. Cách bố trí phép đo dưới biểu diễn trên hình 34.
Hình 34: Vị trí đặt nguồn sáng và cảm biến trong phép đo nhịp tim
Nhìn vào hình 35 ta thấy được đường cong đặc tính hấp thụ của ánh sáng đỏ của Hemoglobin bị ôxi hoá và Hemoglobin không bị ôxi hoá
Hemoglobin ôxi hoá hấp thụ mạnh ánh sáng ánh sáng đỏ (600 đến 700nm) , còn Hemoglobin không bị ôxi hóa thì ngược lại.
Hình 35 : Sự phụ thuộc của độ hấp thụ ánh sáng vào biên độ sóng ánh sáng tới.
Sau khi truyền ánh sáng đỏ lên mẫu thử qua mẫu thử và đến TSL230, thì ta sẽ thu được xung ra theo tỉ lệ của độ hấp thụ tế bào Hemoglobin.
Hình 36:Đồ thị sự hấp thụ ánh sáng sau khi truyền qua
Cường độ ánh sáng mà photodiode nhận được có dạng như hình 36. Mỗi tín hiệu gồm 2 thành phần:
Thành phần 1 chiều DC: Idc gây ra do sự hấp thụ của tĩnh mạch (V), xương, da, mô (T) là không đổi.
Thành phần xoay chiều AC, biến đổi đồng bộ với nhịp tim: Iac là thành phần mang thông tin về nồng độ oxy bão hoà của máu trong động mạch (A).
Sau khi tách thành phần một chiều DC (không mang thông tin về nồng độ oxy bão hoà trong động mạch) ta thu được tín hiệu như sau.
Hình 37: sự thay đổi cường độ sáng khi truyền qua ngón tay.
Nhìn vào hình 37 ta thấy sự biến đổi tuần hoàn. Ứng với một xung tương đương với nhịp tim. Do sự thay đổi là rất châm ta có thể lấy khoảng từ 5 mẫu xung trở lên thì ta có thể tính được nhịp tim rất chính xác chấp nhận được.
3.5. Phần thực nghiệm
3.5.1 Sơ đồ nguyên lý hệ đo
Sơ đồ nguyên lý hệ đo nhịp tim của khóa luận được trình bày trên hình 38.
Hình 38: Sơ đồ mạch đo nhịp tim
3.5.2 chương trình và cấu hình làm việc
Trong luận văn em dùng PIC 16F877A để đo tần số đầu ra của TSL230.
Ánh sáng đi qua ngón tay, nó sẽ được thu bởi chíp TSL 230 với đặc tính thu ánh sáng rồi biến đổi thành xung vuông.
Xung vuông đưa ra khỏi chân của TSL 230 đã được điều chỉnh tỉ lệ bằng cách tác dụng xung ở các chân (S0, S1, S2, S3) để ta có một tỉ lệ tần số xung thích hợp khi đưa vào vi xử lý.
Ta đưa trực tiếp xung vào chân RC1 của vi điều khiển PIC 16F877A.
Dùng bộ đếm timer 1 để đếm số xung vào ở chân RC1. Dùng ngắt timer2 để tạo thời gian đếm trong thởi gian là 21.8 ms.
Từ đó ta có thể biết được số xung đưa vào vi điều khiển trong thời gian là 21.8 ms.
Khi đó ta có thể thấy được sự thay đổi của số xung đưa vào vi điều khiển chính là sự thay đổi tần số. Sự thay đổi này ứng với những thay đổi oxy trong máu và kết thúc một chu kỳ thay đổi chính là ứng với một nhịp tim.
Để xác định được những chu kỳ đó ta sẽ tìm những điểm max trong mỗi chu kỳ vào đếm số lần đạt max đó trong khoảng thởi gian là 10s khi đó ta có thể tính được nhịp tim.
Ta xem hình 36 thấy rằng sự hấp thụ ánh sáng sau khi truyền qua ngón tay và tần số chuyền từ TSL230 đến vi điều khiển cũng có sự biến đổi giống như vậy. Ta thấy có những đỉnh chính và những đỉnh phụ khi dùng các thuật toán ta phải tránh việc đếm nhầm những đỉnh phụ đó. Trong luận văn này em đã khảo sát nhiều lần và điều chỉnh hệ số chia của đầu ra TSL 230 sao cho độ biến thiên đó nằm trong khoảng từ 70 đến 110 xung. Khi đó thì ta thấy rằng các đỉnh chính có giá trị trên 90 xung. Như vậy ta có thể loại trừ được các đỉnh phụ.
Kết quả đo thu được nhịp tim sau khi lấy trung bình sẽ được hiện lên trên màn LCD.
3.5.4 Kết quả đo, nhận xét
Kết quả đo khá chính xác so với các thiết bị thương mại có bán trên thị trường (hình 39).
Độ chính xác của kết quả còn phụ thuộc vào sự chống nhiễu của thiết bị đo. Thí dụ ánh sáng từ bên ngoài lọt vào sẽ gây nhiễu và phải hạn chế bằng cách thiết kế bộ kẹp vào ngón tay một cách thích hợp.
3.5.4 Thiết bị thương mại để đo nhịp tim
Hình 39: Thiết bị đo nhịp tim băng áp suất
Hình 39 có giới thiệu một thiết bị thương mại có trên thị trường dùng để đo nhịp tim. Đó là thiết bị đo dựa trên phương pháp sử dụng cảm biến áp suất MEMS.
Thiết bị trên đã được sử dụng để so sánh với kết quả đo trên thiết bị tự tạo của bản khóa luận.
KẾT LUẬN
Trong luận văn này em đã nghiên cứu và tìm hiểu chi tiết về cảm biến quang TSL230 và tiếp cận với vi điều khiển PIC 16F877A. Em đã xây dựng được thiết bị đo nhịp tim dùng cảm biến quang TSL230 và vi điều khiển PIC 16F877A. Với kết quả đo khá chính xác.
Hướng phát triển tiếp theo của đề tài này là dựa trên cơ sở đo nhịp tim sẽ tìm ra được nhịp thở. Đo được nhưng biến đổi nhỏ trong máu từ đó có thể tìm ra được phương pháp mới để xét nghiệm bệnh.
.
TÀI LIỆU THAM KHẢO.
[1] Phạm Văn Minh “Nghiên cứu khả năng đo nồng độ oxy trong máu và nhịp tim bằng phương pháp hấp thụ quang học”, khóa luận tốt nghiệp đại học chính quy 2005.
[2] TS Hồ Văn Xung, “Linh kiện bán dẫn và vi mạch”, NXBGDHN 2001
[3] Giáo trình linh kiện điện tử của DH Cần Thơ
[4] Datasheet của TSL230
[5] Datasheet của16F877A
[6] John G. Webster, “Design of Pulse Oximeters”, Institute of Physics Publishing Bristol and Philadelphia 1997
Website:
[7]
[8]
MỤC LỤC
Các file đính kèm theo tài liệu này:
- Nghien cuu cac ung dung cam bien quang.doc