Tính toán và thiết kế mạch

Một phần của tài liệu Thiết kế và thi công thiết bị đo tín hiệu ECG, hiển thị trên smartphone và lưu dũ liệu về server (Trang 35 - 57)

Để đạt được một hệ thống hoàn chỉnh, trước tiên hết là tính toán và thiết kế phần cứng. Phần cứng tốt là nền tảng để phần mềm hoạt động tốt. Các khối được thiết kế phải phù hợp và tương thích với nhau thì hệ thống mới hoạt động ổn định. Dưới đây là thiết kế và tính toán các thông số của các khối hệ thống này.

a. Thiết kế khối cảm biến

Như đã được giới thiệu ở phần tổng quan và sơ sở lý thuyết. Điện tim là một loại xung điện do tim tự phát. Xung điện này giúp tim co bóp và nó cũng lan truyền khắp cơ thể. Tuỳ vào mỗi vị trí và đặc điểm khác nhau của mỗi phần cơ thể mà tại đó ta thu được những tín hiệu điện tim khác nhau. Tín hiệu sau khi đo phải giảm nhiễu, khuyếch đại, chuyển đổi tương tự sang số, và chuyển sang bộ xử lý. Hình 3.2 là sơ đồ khối của cảm biến điện tim ADS1292R. IC cảm biến này tích hợp đủ các yêu cầu phần cứng để thu về tín hiệu điện tim của hệ thống.

Hình 3.2: Sơ đồ khối ADS1292R

• Mạch thu tín hiệu

Tín hiệu được thu vào là sự sai lệch điện áp khi tim hoạt động được đo tại các điểm cực đặt trên cơ thể. Hệ thống này đo đạt tín hiệu điện tim bằng ba điện cực.

Trong đó có 2 điện cực để lấy hiệu điện thế và một điện cực để làm điện thế tham chiếu.

Hình 3.3: Sơ đồ mạch khuyếch đại đo

Để tính toán được hiệu điện thế giữa hai cực, hệ thống dùng mạch khuyếch đại đo (Instrumentation Amplifier) như hình 3.3. Điện áp đầu ra Vout chính là tín hiệu điện tim cần tìm. Để dễ dàng tính toán, mạch trên hình 3.3 sẽ được chia thành hai phần, phần I sẽ là hai op-amp đệm ở ngõ vào, phần II sẽ là op-amp với vai trò mạch vi sai. Vout ở phần II sẽ được tính theo công thức (3.1).

( 1 2) 4 5 o o out V V R R V =  − (Volt) (3.1)

Trong đó quy ước Vo1 và Vo2 lần lượt là ngõ ra của hai op-amp đệm ở phần I, điện trở R3 = R2. Vì hai mạch op-amp ở ngõ vào là khuyếch đại đệm không đảo, nên ta có 2 ngõ vào âm cũng lần lượt là V1 và V2 tương ứng với hai ngõ vào dương. Áp dụng định luật Ohm ta tính được dòng i chạy qua điện trở R1. Tương tự ta cũng tính dòng i qua điện trở R1, R2, R3. Từ đó ta sẽ tính được (Vo1-Vo2) theo công thức (3.2) (3.3) dưới đây. 3 2 1 2 1 1 2 1 R R R V V R v v i o o + + − = − = (3.2) ( ) ( ) ( 1 2) 1 2 2 1 1 3 2 1 2 1 2 1 V V R R V V R R R R V Vo o  −      + = −  + + = − (3.3)

Từ công thức (3.1) và (3.3) ta có thể tính được điện áp ngõ ra Vout như công thức (3.4) và hệ số khuyếch đại tín hiệu A được tính như công thức (3.5).

( 1 2) 4 5 1 2 2 1 V V R R R R Vout   −      + = (3.4) 4 5 1 2 2 1 R R R R A       + = (3.5)

Để dễ dàng thay đổi hệ số khuyếch đại, mạch sẽ dùng R1 có thể thay đổi được để tăng hoặc giảm hệ số.

Hình 3.4: Sơ đồ mạch khuyếch đại vi sai trong ADS1292R

Hiện nay có rất nhiều IC có chức năng khuyếch đại đo, tuy nhiên để phù hợp với tín hiệu điện tim hệ thống sẽ sử dụng IC ADS1292R. Mạch khuyếch đại đo của IC này như hình 3.4 có thể thay đổi được thông số khuyếch đại bằng cách lập trình.

• Lọc nhiễu tín hiệu và phát hiện điện cực

Tín hiệu điện tim nhận từ cơ thể con người có biên độ rất nhỏ. Bên cạnh đó còn có các tín hiệu khác như điện cơ, nhiễu điện lưới ảnh hưởng tới quá trình thu điện tim. Để hạn chế đi những yếu tố ảnh hưởng đến tín hiệu đó, hệ thống sử dụng các mạch chức năng tên EMI Filter.

Xác định điện cực có gắn vào cơ thể hay không cũng rất quan trọng. Việc này giúp cho hệ thống tránh thu về tín hiệu lỗi khi 1 trong các điện cực bị hở. Hình 3.4 là sơ đồ của mạch phát hiện điện cực bị tắt (lead off detect).

Nguyên tắc của phát hiện Lead-off là phát nguồn DC hoặc AC vào cơ thể người đo và kiểm tra kết quả ngõ ra như hình 3.5. Nếu sử dụng nguồn dòng DC, điện áp thu được từ điện cực sẽ so sánh với điện áp từ bộ DAC 4bit. Khi không mắc điện cực, đầu vào của bộ so sánh bị bão hoà, lúc đó đầu ra xác nhận là Lead-off. Nếu sử dụng nguồn AC, nguồn điện được phát với tần số F=Fdr/4. Sau đó tuỳ vào tín hiệu vi sai đầu ra sẽ tính toán được tình trạng lead-off.

Hình 3.5: Sơ đồ phát hiện lead-off

• Chuyển đổi tương tự sang số

Tín hiệu ngõ ra Vout là tín hiệu điện tim thuộc tín hiệu tương tự. Để dễ dàng xử lý, tín hiệu này sẽ được chuyển về tín hiệu số. Bộ chuyển đổi tín hiệu tương tự sang số (ADC) này trong ADS1292R thuộc loại Sigma-delta có độ phân giải 24bit. Trên hình 3.6 là bộ ADC Sigma-delta 1 bit. Thành phần chung của ADC kiểu này là các bộ phận như: vi sai, tích phân, so sánh, DAC hồi tiếp tương ứng.

Hình 3.6: ADC Sigma-delta

Lưu đồ của ADC này được thể hiện ở hình 3.7. Đầu tiên tín hiệu đưa vào được qua bộ vi sai. Bộ này trừ tín hiệu vào và tín hiệu hồi tiếp từ ngõ ra đã được chuyển đổi DAC. Tín hiệu tiếp tục đi qua bộ tích phân, tại đây tín hiệu được cộng với kết quả tín hiệu bộ tích phân trước đó. Sau đó sẽ đi qua bộ so sánh, từ đây sẽ cho ra kết quả của ADC. Tín hiệu ngõ ra sẽ được qua bộ DAC để hồi tiếp. ADC kiểu này sẽ cần thời gian thời gian để tính toán chuyển đổi. Độ phân giải càng cao thì độ trễ càng lớn.

Hình 3.7: Sơ đồ mô hình toán ADC sigma-delta

Để tính được hiệu điện thế của hai cực, cần có một cực làm điện thế tham chiếu.

Hình 3.8 là sơ đồi khối tham chiếu trong ADS1292R. ADS1292R sử dụng một mạch bandgap. Mạch này tạo điện áp không đổi bất kể sự thay đổi của nguồn điện, nhiệt độ và tải mạch. Điện áp này được khuyến nghị là 2.42V cho điện áp hoạt động là 3V và 4.033V cho điện áp hoạt động là 5V. Điện áp này được đưa vào bộ đệm tham chiếu để tạo điện áp ngõ ra thích hợp. Điện áp ngõ ra được đưa tới ngõ vào của khối ADC nhằm số hoá tín hiệu.

• Giao tiếp dữ liệu số

Dữ liệu sau khi được chuyển đổi sang số sẽ thông qua giao thức truyền thông chuyển đến bộ vi điều khiển. Mỗi loại Vi điều khiển đều có điện áp mức logic khác nhau, điện áp mức logic truyền dữ liệu của ADS1292R phải được chuyển đổi phù hợp với bộ vi điều khiển. Để thực hiện được điều đó, hệ thống sử dụng IC IY08 của Texas Instrument như hình 3.9.

Hình 3.9: IC chuyển đổi mức logic (adsbygoogle = window.adsbygoogle || []).push({});

Điện áp hoạt động của IC ADS1292R là từ 2.7-5.25V và thông thường là 3.3V. Điện áp mức logic của vi điều khiển sẽ được mắc vào VCCB của IC. Từ đó điện áp mức logic sẽ được chuyển đổi phù hợp từ Port A sang Port B của IC.

• Sơ đồ mạch thu tín hiệu hoàn thiện.

Mạch lấy tín hiệu điện tim sẽ được xây dựng dựa trên IC ADS1292R. Hình 3.10

là sơ đồ toàn mạch cảm biến. Trong đó các chân tín hiệu PWDN/RESET, START, DRDY và các chân giao tiếp SPI (3) được kết hợp với port A của IC chuyển đổi điện áp mức logic TXB0108. Điện cực được gắn ở kênh 2 là các chân IN2N và IN2P (1). Tụ điện 47nF được sử dụng để ổn định tín hiệu cho PGA hai kênh. Điện áp tham chiếu được nối tới chân RLDREF (2) thông qua hai điện trở bảo vệ 100 kOhm. Các tụ điện 100nF, 10nF, 1uF được sử dụng để ổn định nguồn, ổn định các chân tham chiếu được thiết kế theo khuyến cáo của nhà sản xuất.

Hình 3.10: Sơ đồ mạch tín hiệu ECG

Để dễ dàng thực hiện kết nối và vẽ mạch in. Mạch thu tín hiệu ECG được gom thành một module. Trên hình 3.11 là module ADS1292R. Trên module này, IC cảm biến điện tim (1) là thành phần chính quan trọng nhất, nó chính là IC ADS1292R đã nói ở trên. (2) là IC chuyển đổi điện áp mức logic. Nó chuyển đổi điện áp từ IC ADS1292R sang các chân giao tiếp (3) sao cho phù hợp với vi điều khiển. (4) là các jack kết nối 3.5mm để kết nối các điện cực gắn từ cơ thể người vào hệ thống.

Hình 3.11: Module điện tim ADS1292R

b. Khối xử lý

Khối xử lý nhận tín hiệu từ khối cảm biến để tiến hành xử lý tín hiệu. Mục đích của hệ thống là thu thập tín hiệu điện tim và gửi qua điện thoại thông qua Wireless. Cấu tạo gọn nhẹ và đáp ứng đủ nhu cầu về tốc độ xử lý, ESP8266 EX là một lựa chọn phù hợp. Trên hình 3.12 là vi điều khiển ESP8266EX và kit phát triển của nó có tên là Node MCU esp8266.

Hình 3.12: Vi điều khiển ESP8266EX

Trong hệ thống này, Node MCU được sử dụng các chức năng như SPI giao tiếp với ADS1292R để lấy chuỗi dữ liệu số tín hiệu điện tim. Giao tiếp I2C được sử dụng với chức năng hiển thị trên màn hình OLED các thông số cần thiết. Và quan trọng nhất chính là sử dụng server để gửi dữ liệu lên điện thoại android.

Hình 3.13: Sơ đồ khối ESP8266EX

ESP8266 có cấu trúc cơ bản như mọi vi xử lý khác. Vi điều khiển này tích hợp bộ vi xử lý Tensilica L106 kiến trúc RISC 32bit. Vi điều khiển này có thể chạy với năng lượng thấp với tốc độ có thể lên đến 160Mhz. Hệ điều hành RTOS và ngăn xếp wifi cho phép 80% khả năng xử lý có sẵn để lập trình ứng dụng. Hình 3.13 là biểu thị cho sơ đồ chức năng của ESP8266. Trong sơ đồ này có thể thấy vi điều khiển một phần xử lý wireless riêng biệt song song với bộ xử lý chính. Điều này giúp cho tốc độ xử lý dữ liệu không bị ảnh hưởng bởi tốc độ truyền tải dữ liệu.

ESP8266EX Wi-Fi SoC tích hợp bộ điều khiển bộ nhớ và các đơn vị bộ nhớ gồm có SRAM (bộ nhớ truy xuất ngẫu nhiên tĩnh) và ROM. MCU có thể truy cập các bộ nhớ này thông qua bộ “trọng tài” để quyết định cái nào trước cái nào sau. Bộ nhớ Ram truy cập cho phép là <50 kB. Tuy nhiên không có ROM programable trong SoC, do đó chương trình phải được lưu trên bộ nhớ flash ngoài thông qua SPI. Bộ nhớ hỗ trợ tối đa có thể lên đến 16MB, và vùng nhớ OTA (over-the-air) cho phép phải lớn hơn 1MB. NODE MCU được thiết kế để sử dụng tần số cao. Có thể lựa chọn tần số là 80Mhz hoặc tốc độ cao 160 Mhz.

ESP8266 có 17 chân GPIO. Các chân này có thể được gán các chức năng khác nhau dựa trên lập trình các thanh ghi tương ứng phù hợp. Mỗi GPIO PAD có thể cấu hình điện trở trong pull-up hoặc pull-down hoặc được cài đặt ở chế độ trở kháng Z cao. Khi được cấu hình làm đầu vào, dữ liệu được lưu trữ trong các thanh ghi phần mềm; đầu vào cũng có thể được đặt thành ngắt CPU kích hoạt cạnh hoặc kích hoạt mức. Các chân này được đặt là hai chiều, không đảo và 3 trạng thái. Các chân này có

Hình 3.14: Sơ đồ mạch chân reset ESP8266

Mỗi lần nạp dữ liệu, khởi động lại hoặc wake-up ta cần có chân Reset. Trong hình 3.14 là chân Reset của mạch được gắn vào GPIO 16. Bình thường chân này sẽ được kéo lên mức cao do hở mạch, khi có nút nhấn sẽ được kéo xuống mức thấp. Lúc này dòng trong mạch sẽ là Iled được tính như công thức (3.6).

R V V

i = ccled

(3.6)

Trong đó Vcc =3.3V, Vled = 2 V, R = 470+470 Ohm. Giá trị Iled = 1 mA.

• SPI giao tiếp với ADS1292R và Oled SSD1306 ESP8266EX có hai SPI.

o Một Slave / Master SPI chung

o Một Slave HSPI chung

Chức năng của tất cả các chân này có thể được thực hiện thông qua phần cứng. Hệ thống sẽ sử dụng chân D0, D3, D4 và các chân SCK, MISO, MOSI, CS để hoạt động với chức năng SPI giao tiếp với ADS1292R. Các chân GPIO tương ứng với START, DRDY, PWDN/RESET có chức năng hỗ trợ trong việc lấy dữ liệu từ cảm biến. Chức năng của các chân được mô tả của bảng 3.1 dưới đây.

Bảng 3.1: Các chân chức năng sử dụng giao tiếp SPI

Chân Chức năng

SCK Truyền xung clock để giao tiếp

MISO Đường dữ liệu truyền từ Slave đến Master MOSI Đường dữ liệu truyền từ Master đến Slaver

CS Chip Select (adsbygoogle = window.adsbygoogle || []).push({});

START Nhận tín hiệu bắt đầu từ ADS1292R

PWDN/RESET Điều khiển Power down/ reset ADS1292R DRDY Nhận tín hiệu sẵn sàng từ ADS1292R

Tín hiệu clock chính là cơ sở cho truyền dữ liệu số. Clock sử dụng có tần số f = 2.048 MHz. Chân CS được sử dụng khi có nhiều cảm biến kết nối. Chân START nhận tín hiệu khai báo từ cảm biến. Nếu có sự kiện trao đổi dữ liệu chân DRDY sẽ thay đổi trạng thái và dữ liệu được truyền qua chân MISO, MOSI.

• SPI giao tiếp với OLED

Oled trong hệ thống này sử dụng IC điều khiển là SSD1306. IC này hoạt động giao tiếp với vi điều khiển ở nhiều chế độ như: Parallel 6800, Parallel 8080, SPI, I2C. Đối với Oled, chức năng sử dụng chủ yếu là nhận dữ liệu về và hiển thị. Để việc xử lý không bị trì hoãn, giao tiếp với Oled sẽ sử dụng giao thức SPI. SPI giao tiếp với SSD1306 sẽ chỉ sử dụng SCK và MOSI. Các chân chức năng hỗ trợ là D1,D2 nối với D/C và CS của SSD1306. Các chân này hỗ trợ chọn chip và giao tiếp với Oled và thể hiện ở bảng 3.2 dưới đây.

Bảng 3.2: Các chân chức năng của Oled SSD1306

Chân Chức năng

SCK Truyền xung clock để giao tiếp

MOSI Đường dữ liệu truyền từ Master đến Slaver

CS Chip Select, chọn khi có nhiều thiết bị chung 1 giao thức SPI D/C Điều khiển ghi dữ liệu/lệnh vào bộ nhớ của oled

RES Dùng để reset lại oled

• Wireless giao tiếp với điện thoại

ESP8266 thực hiện TCP/IP với giao thức WLAN MAC b/g/n đầy đủ. Nó hỗ trợ hoạt động STA và SorfAP cài đặt dịch vụ cơ bản BSS (Basic service set) trong chức năng điều khiển phân tán DCF (Distributed Control Function). ESP8266 hỗ trợ tần số và băng tầng cơ sở như sau:

o 802.11 b và 802.11 g

o Khoảng bảo vệ 802.11 n là 0.4μs

o Tốc độ dữ liệu lên tới 72,2 Mb / giây

o Công suất truyền lên tới 20,5 dBm

c. Khối hiển thị

Mục đích của tất cả các hệ thống là cung cấp thông tin cho người sử dụng. Người dùng sẽ nhận thông tin đó thông qua khối hiển thị của hệ thống. Trong hệ thống này, khối hiển thị sẽ là một màng hình oled 0.96 inch và điện thoại thông minh sử dụng hệ điều hành android. Điện thoại thông minh sẽ được cài đặt ứng dụng được xây dựng trên MIT app inventor.

Hình 3.15: Sơ đồ khối SSD1306

Trái tim của oled 0.91 inch 128x64 này là ic SSD1306. Hình 3.15 là sơ đồ khối của IC này. Các khối chức năng là: Khối giao tiếp MCU, khối GDDRAM, khối Display controller, khối Command Decoder, khối Oscillator, khối Control Power và cuối cùng là khối Driver.

Khối Oscillator là khối cấp xung cho toàn IC hoạt động với mạch RC công suất thấp. Có thể lựa chọn bộ dao động bên trong hoặc dao động bên ngoài thông qua chân CLS. Khi CLS được kéo lên mức High, bộ dao động bên trong được chọn, lúc này chân CL mở và không kết nối. Khi CLS kéo xuống mức Low, bộ dao động ngoài được kích hoạt và chân CL được nối với bộ tạo xung ngoài. Có thể thay đổi được tần

Một phần của tài liệu Thiết kế và thi công thiết bị đo tín hiệu ECG, hiển thị trên smartphone và lưu dũ liệu về server (Trang 35 - 57)