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