Thursday, January 29, 2015

Tính toán cơ bản trong lập trình nhúng

Trong bài này mình sẽ giới thiệu hầu hết các thuật toán cơ bản nhất trong lập trình C (nhúng) mà mình biết,hầu hết là các thuật toán xử lý BIT,thanh ghi.Các thuật toán này hết sức cơ bản,nhiều bạn đã thành thạo rồi,tuy nhiên nó rất quan trọng và được sử dụng thường xuyên,nhưng lại thường bị mọi người bỏ qua.
Mình sẽ lấy ví dụ luôn với các thanh ghi trong module Digital I/O của MSP430 để các bạn tiện hình dung.

1.Các phép toán thông dụng

Mình chỉ nêu ra các phép toán rất hay dùng trong lập trình nhúng,các bạn tự tìm hiểu ý nghĩa vì nó rất cơ bản:
& , | , ^ , ! , ~ , << , >> , != , && , || , ++ , -- , (biểu thức điều kiện) a ? b : c , (viết tắt) ví dụ ^= ; |= 

Tuesday, January 13, 2015

Sạc pin Lithium đơn giản với TP4056

Bạn thường xuyên làm việc với MSP430 và các dòng vi điều khiển 16 và 32 bit,bạn đã từng thiết kế một ứng dụng cầm tay chưa? Nếu có thì pin chắc chắn là một vấn đề cần quan tâm.Bài này mình sẽ giới thiệu một giải pháp đơn giản giúp hoàn thiện bản thiết kế của bạn với các ứng dụng dùng pin.

Pin Lithium hiện nay đang ngày càng phổ biến,nguyên nhân vì tỷ số dung lượng/trọng lượng nhỏ hơn nhiều so với các loại pin khác,cụ thể nhất là cùng một trọng lượng thì pin Lithium có thể chứa được năng lượng lớn hơn khoảng 10-20 lần so với Acquy và gấp khoảng 6 lần so với pin Ni-Cd.

Sạc pin Lithium so với Acquy và pin Ni-Cd thực ra có cái dễ hơn và cũng có cái khó hơn,dòng sạc chi pin Lithium lớn hơn nhiều,và cũng không cần phải tạo xung như với Acquy,tuy nhiên phải đảm bảo nghiêm ngặt về điện áp,không được phép áp điện quá 4.2V,và không được nạp với dòng lớn hơn thông số dung lượng pin(Ví dụ pin dung lượng 1000mA thì dòng sạc tối đa là 1A và khuyến cáo ở mức 0.8A),nếu không có thể gây cháy nổ.Bù lại pin lithium lại có thời gian sử dụng lâu hơn,ít bị chai pin hơn.

Monday, January 12, 2015

Mạch đo nhịp tim - Bài 1.Mạch xử lý tín hiệu tương tự

Bài này mình sẽ hướng dẫn các bạn thiết kế mạch thu tín hiệu và tính nhịp tim.Mình chỉ tập trung vào mạch tương tự,cách thu và tách được sóng xung tạo ra khi tim bắt đầu co bóp.Phần mạch số có nhiệm vụ thu tín hiệu từ mạch tương tự,số hóa bằng ADC ,hiển thị dạng sóng tương tự như trên Oxilo,và từ đó tính được nhịp tim.Phần xử lý số có phần hiển thi GLCD phức tạp nhưng không cần thiết,các bạn có thể dùng Oxilo để thay thế,nếu cần mình sẽ đề cập trong 1 bài khác thiết kế Oxilo số.

Một chú ý quan trọng là mạch này sử dụng pin,nên sẽ không có mạch lọc loại bỏ tần số 50Hz từ điện lưới,vì vậy các bạn cần chắc chắn ngắt mọi nguồn nối mạch này với điện lưới(Ví dụ như dây nạp chương trình của MSP430),vì nó sẽ gây nhiễu đến tín hiệu.Đây là lỗi nhiều bạn rất hay gặp khi debug chương trình.

END COMMENT FACEBOOK-->