Lập trình đọc dữ liệu điện tim sử dụng ADC của PSoC

Một phần của tài liệu đề tài nghiên cứu thiết kế một thiết bị đo điện tim (Trang 31 - 33)

b) Mạch lọc thông thấp sử dụng công nghệ chuyển mạch tụ điện

3.2.5. Lập trình đọc dữ liệu điện tim sử dụng ADC của PSoC

Tín hiệu điện tim được đưa về từ hai điện cực sẽ đi qua FPAA. Trong đó các mạch tương tự sẽ thực hiện việc lọc tín hiệu và khuếch đại. Tín hiệu đưa vào và đưa ra khỏi FPAA là tín hiệu vi sai. Với thiết kế FPAA cho hệ số khuếch đại 1024 lần, tín hiệu điện tim đưa vào ADC của PSoC có biên độ lớn nhất vào khoảng 1,5V÷2V.

Module ADC sử dụng để đọc tín hiệu điện tim là khối ADCINC với các thuộc tính như sau:

- Độ phân giải có thể thay đổi (từ 7bit tới 13bit) - Tốc độ lấy mẫu tối đa 10kSPS

- Offset Error: tối đa 9mV

Tín hiệu trước khi đưa vào khối ADCINC cần có một khối khuếch đại đệm INSAMP (Instrumentation Amplifier). Khối khuếch đại này có nhiệm vụ đệm tạo ra trở kháng đầu vào lớn. Tín hiệu điện tim đưa từ FPAA về được nối vào cổng P0_2 và P0_3 của PSoC. Sử dụng các bộ ANALOG_MUX đầu vào để nối tín hiệu điện tim vào bộ khuếch đại vi sai INSAMP.

Các khối tương tự của PSoC cũng được thiết kế từ phương pháp chuyển mạch tụ điện giống như FPAA. Cấu tạo của các khối Analog này cũng bao gồm các phần tử OPAMP và các ma trận.

Sau đây là một số thông số của khối khuếch đại vi sai này:

- Slew rate: 0,5V/µs (chế độ tiết kiệm năng lượng), 1,8V/µs (chế độ thường) và 6,0V/µs (chế độ công suất cao).

- CMRR: 60dB

- Input Offset Voltage: 3,5mV

- Hệ số khuếch đại: từ 1 đến 48, khối CONVERT (từ 1 đến 63)/32

Dựa theo các thông số của khối ADC và yêu cầu lấy mẫu đối với tín hiệu điện tim, lựa chọn các thông số như sau:

Thông số Biến chọn

AnalogBus Disable CommonModeOut No Connect

DifferentialGain 1 ConversionGain 1

Hình 3-13: Thiết lập thông số cho khối INSAMP

Thông số Biến chọn

Input ASD13

Clock Phase Swap

Clock VC1

ADC Resolusion 8 bits Data Format Signed

Hình 3-14: Thiết lập thông số cho khối ADCINC

Một số hàm API của khối ADCINC do nhà sản xuất cung cấp:

void ADCINCVR_Start(BYTE bPower); // khởi động ADC

void ADCINCVR_SetResolution(BYTE bRes); // đặt độ phân giải

void ADCINCVR_StopAD(void); // ngừng chuyển đổi AD

Một phần của tài liệu đề tài nghiên cứu thiết kế một thiết bị đo điện tim (Trang 31 - 33)

Tải bản đầy đủ (PDF)

(54 trang)