Trong bài này, mình sẽ hướng dẫn đọc Datasheet của một linh kiện điện tử bất kì. Đây là một kĩ năng rất quan trọng, thế nhưng trong các trường đại học hay ngay cả trên mạng cũng rất ít hướng dẫn về vấn đề này.
Để trở thành một kĩ sư điện tử hay lập trình nhúng, chúng ta luôn luôn phải sử dụng kĩ năng này, vậy hãy cùng mình tìm hiểu về Datasheet nhé!
Datasheet là gì?
Datasheet (hoặc data-sheet, spec sheet) là loại tài liệu mô tả tổng quan hiệu năng và các thông số kỹ thuật của sản phẩm một cách chi tiết, để khách hàng hiểu rõ công năng của sản phẩm trước khi mua. Bạn cứ hình dung nó giống như cuốn sách hướng dẫn sử dụng đi kèm chiếc nồi cơm điện, nhưng viết cho kĩ sư đọc.
Thông thường người xem datasheet là những kỹ sư, nhà quản lý kỹ thuật của tổ chức, cũng có thể là sinh viên nghiên cứu.
Datasheet là tài liệu bắt buộc phải có với các sản phẩm công nghệ như linh kiện điện tử, máy móc, nguyên vật liệu, các hệ thống con (như hệ thống điện), và cả các sản phẩm phần mềm.
Tại sao chúng ta cần đọc Datasheet
Trong phạm vi bài viết này chúng ta sẽ xét tới Datasheet của linh kiện điện tử, và vì sao cần đọc nó.
Datasheet lưu giữ toàn bộ các dữ liệu liên quan tới linh kiện đó như công dụng, tính năng, cách điều khiển, điện áp, công suất tiêu thụ … vân vân và mây mây. Nói chung chỉ cần đọc kĩ datasheet là có thể rõ ràng được mọi việc.
Kĩ sư phần cứng có thể đọc datasheet để chọn linh kiện phù hợp với yêu cầu của mạch, xem các mạch mẫu (example schematic) để vẽ mạch nguyên lý, xem gợi ý layout (recommended layout) để khi vẽ mạch in không xảy ra lỗi.
Kĩ sư phần mềm (firmware) có thể đọc datasheet để hiểu các giao thức (protocol interface) giao tiếp với IC, cách tổ chức bộ nhớ và thanh ghi trong IC, từ đó lập trình và điều khiển được IC đó.
Vậy tại sao chúng ta Lười đọc Datasheet
Chẳng phải nói quá, nhưng nếu bạn đã có kinh nghiệm lập trình hay thiết kế dựa trên datasheet, bạn chẳng cần phải đi tìm các nguồn hướng dẫn khác, các tutorial, hay đi xin các thư viện của người khác.
Tự bạn cũng đã có thể thiết kế và lập trình con IC đó dựa trên Datasheet rồi.

Có 3 lý do cơ bản khiến bạn lười đọc Datasheet:
Lười đọc tiếng anh
Đó là lý do các công ty lớn, các trường đại học lớn luôn có yêu cầu TOEIC hay IELTS trên một ngưỡng nào đó. Vì thực sự khi làm điện tử hay lập trình, bạn bắt buộc phải biết tiếng Anh.
Không cần phải nói chuyện với người bản xứ vanh vách hay cưa đổ một em Tây nào đó, mà chỉ cần kĩ năng đọc dịch (hoặc dùng Google dịch) của bạn khá là được.
Và cái quan trọng là không bị “ngại” khi nhìn các tài liệu tiếng Anh.
Lẽ ra bạn chỉ cần gõ tên linh kiện + datasheet trên Google rồi ngồi đọc tài liệu đó. Thế nhưng các bạn lại chọn cách tìm bằng keyword “Hướng dẫn điều khiển ABC sử dụng vi điều khiển XYZ”, rồi lặn ngụp trên đó để tìm được bài viết phù hợp.
Mình không nói các tutorial đấy không có tác dụng, nhưng nó chỉ nên dùng cho những người mới bắt đầu. Khi đã quen với việc lập trình, các bạn nên nâng level lên bằng cách tự đọc Datasheet và tài liệu của hãng, bởi vì tutorial có viết chi tiết đến đâu cũng không thể bằng tài liệu do chính người tạo ra linh kiện viết.
Không biết cách đọc Datasheet như thế nào
Bạn thấy thật mệt mỏi khi mỗi lần sử dụng một linh kiện mới lại phải ngồi dịch cả mấy chục trang tiếng Anh phải không? Đôi khi cả trăm trang, mà bạn không biết được phần nào có ích phần nào không.
Đấy là do bạn chưa tiếp xúc nhiều với Datasheet mà thôi. Thực tế các datasheet đều có một format chung, bạn chỉ cần nắm rõ được format đó và tìm đúng phần mình cần biết là được.
Một kĩ sư phần cứng thiết kế mạch in thì không cần quá quan tâm con IC đó giao tiếp như thế nào với vi điều khiển.
Tương tự một kĩ sư phần mềm (firmware) cũng không cần quá quan tâm công suất tiêu thụ, cách vẽ schematic của linh kiện đó ra sao.
Đương nhiên nếu bạn là 1 full stack engineer thì nên đọc hết nhé (nói vậy cho oai chứ mình không rõ ngành nhúng có định nghĩa full stack là gì không nữa).
Ngay phần dưới đây mình sẽ giúp các bạn tìm hiểu về cấu trúc và cách đọc Datasheet sao cho đỡ mất thời gian nhất.
Không biết áp dụng ra sao trong điện tử và lập trình
Thường thì các bạn đọc blog của mình có thể đang còn “Non và Xanh”, tư duy lập trình chưa hình thành hoàn toàn. Vậy nên khi tiếp xúc với cả một nồi kiến thức từ Datasheet tự dưng lại cảm thấy ngộ độc.
Bởi vì:
- Bạn chưa hiểu rõ về các giao thức (protocol interface) trong nhúng, chưa hiểu rõ vi điều khiển hoạt động ra sao.
- Bạn chưa bao giờ vẽ một mạch điện tử, hay tự thiết kế một mạch riêng
Vậy nên để có thể đọc Datasheet và làm việc với nó, thì điều kiện tiên quyết là các bạn phải làm quen với MCU rồi, đã thành thạo các giao thức trong nhúng, đã từng vẽ một số mạch in.
Những kiến thức đó, các bạn nên bắt chước từ A tới Z, sau khi nắm vững mới tự mình thay đổi theo ý thích, đó mới là cách học lập trình đúng đắn.
Mình đã có những bài viết tổng hợp cho những bạn mới bắt đầu, tham khảo tại link:
Khi đã có trong mình tư duy lập trình, tư duy thiết kế mạch, thì những kiến thức trong Datasheet mới thực sự có ích và quan trọng.
Hướng dẫn đọc Datasheet linh kiện điện tử
Nói vã bọt mép nãy giờ chắc các bạn đã hiểu tầm quan trọng của việc đọc Datasheet rồi chứ. Không lòng vòng nữa, đây là cách đọc datasheet hiệu quả nhất.
Định dạng chung của Datasheet
Mô tả chung – Overview and Description
Đây là phần nói khái quát về con linh kiện đó: nó dùng làm gì, tính năng gì nổi trội, phù hợp với ứng dụng như thế nào. Khi chọn linh kiện cho một dự án, các bạn phải đọc kĩ phần này để biết nó có phù hợp hay không nhé!

Tính năng chính – Main feature
Mô tả chi tiết các tính năng của linh kiện đó. Đi kèm ngay sau nó thường sẽ có bảng định nghĩa về điện áp, dòng điện, công suất… và các thông số quan trọng của linh kiện.

Lưu ý: Trong datasheet luôn có 2 bảng dễ nhầm: Absolute Maximum Ratings là giới hạn mà vượt qua là linh kiện có thể hỏng, chứ không phải điều kiện để chạy. Muốn linh kiện chạy ổn định thì phải thiết kế theo bảng Recommended Operating Conditions (hoặc Electrical Characteristics). Ví dụ IC ghi Absolute Max là 6V không có nghĩa là cấp 6V cho nó chạy được lâu dài.
Sơ đồ khối – Block Diagram
Mô tả tổng quan về kiến trúc của IC đó. Nếu là các linh kiện công suất thì phần này có thể không có.

Định nghĩa chân – Pin Descriptions
Định nghĩa các chân, mô tả chức năng và điện áp cấp vào chân đó.

Giao thức điều khiển – Interface
Mô tả cách thức giao tiếp với vi điều khiển, phần này chỉ có ở các IC hay linh kiện có giao tiếp nhé!
Có 2 mục rất quan trọng khi giao tiếp với bất kì linh kiện nào, đó chính là:
- Timing Sequence: hay dạng sóng. Bất kì giao tiếp nào cũng đều là sự thay đổi mức 0 – 1 trên các dây dẫn, vậy nên các bạn phải dựa vào dạng sóng để lập trình cho đúng thời gian. Thông thường mỗi dạng sóng sẽ đi kèm với một bảng Timing cho các khoảng thời gian cần duy trì mức 0 và 1. Với chuẩn I2C trong ví dụ này, bảng Timing thường nằm riêng ở mục AC Characteristics.
- Frame: hay khung truyền, cấu trúc gói tin, chính là định nghĩa việc chúng ta truyền cái gì sang cho linh kiện đó.


Cách tổ chức bộ nhớ, thanh ghi – Register
Mô tả bản đồ bộ nhớ của linh kiện, vị trí các thanh ghi. Phần này cũng chỉ có ở các IC có giao tiếp nhé.
Sau khi học được cách truyền như thế nào, thì phải học cách truyền vào đâu. Truyền sai địa chỉ thì chắc chắn là linh kiện đó không chạy hoặc chạy sai.

Cách đóng chân và Kích thước – Package and Dimension
Mô tả kiểu đóng gói (package) theo chuẩn nào: SOIC, SSOP, DIP, SMA…, sau đó là khoảng cách giữa các chân, kích thước thực tế của linh kiện.

Mạch nguyên lý – Typical Application
Phần này có các mạch nguyên lý mẫu cho từng ứng dụng cụ thể của linh kiện, nếu linh kiện chỉ có 1 công dụng thì chỉ có một mạch. Làm theo đúng mạch nguyên lý này thì gần như chắc chắn linh kiện sẽ hoạt động.

Mạch in – Layout Recommend
Phần này có thể có hoặc không, thường gặp ở các chip driver động cơ công suất, nguồn xung, tải công suất lớn… Nó giúp các bạn không mắc lỗi khi layout linh kiện trên mạch, giúp linh kiện hoạt động tốt hơn.
Trên đây là những hạng mục cơ bản trong một Datasheet. Tùy linh kiện sẽ có thêm hoặc bớt các phần khác nhau, nhưng về cơ bản các phần chính sẽ không khác biệt nhau là mấy.
Lưu ý: Với vi điều khiển như STM32, hãng chia tài liệu làm 2 cuốn: Datasheet chỉ có thông số điện, sơ đồ chân, kích thước; còn cách hoạt động và thanh ghi của từng ngoại vi nằm trong Reference Manual (ví dụ RM0008 cho STM32F1). Đọc mãi datasheet mà không thấy mô tả thanh ghi là do bạn đang mở nhầm cuốn.
Kĩ sư phần cứng cần đọc gì ở Datasheet
Nếu bạn là một kĩ sư phần cứng, bạn phải đọc rõ các phần như:
- Mô tả chung: chọn linh kiện theo công dụng
- Tính năng chính và bảng thông số: xem các thông số về điện áp, dòng điện, công suất có đáp ứng được không
- Mạch nguyên lý: giúp vẽ mạch nguyên lý không bị sai
- Mạch in: giúp việc layout không xảy ra lỗi
- Sơ đồ chân: tạo thư viện nguyên lý
- Cách đóng chân: giúp tạo thư viện footprint linh kiện
Kĩ sư phần mềm cần đọc gì ở Datasheet
Nếu bạn là một kĩ sư phần mềm, bạn phải đọc rõ các phần như:
- Sơ đồ khối
- Sơ đồ chân: để cắm KIT trong giai đoạn chưa làm mạch in
- Interface: cách giao tiếp với linh kiện đó
- Memory map, register: địa chỉ đọc ghi các thanh ghi, lệnh…
Cách tìm Datasheet trên mạng
Các bạn có thể vào các trang như alldatasheet, datasheetcatalog… để tìm, hoặc đơn giản lên Google tìm theo cú pháp: Tên linh kiện + datasheet filetype:pdf
Lúc này Google sẽ chỉ hiển thị các kết quả dạng pdf. Nếu linh kiện đó có thể giao tiếp với MCU, các bạn có thể thêm từ manual để ra kết quả chính xác nhất nhé. Ưu tiên tải datasheet từ trang chủ của hãng sản xuất, vì đó luôn là bản mới nhất.
Kết
Đọc Datasheet là một công việc khá nhàm chán, đôi khi còn hơi nhức đầu. Thế nhưng để trở thành một kĩ sư nhúng giỏi, chúng ta cần phải rèn luyện thường xuyên, cách tốt nhất là tự làm các dự án hay bài tập lớn. Khi đó kĩ năng đọc datasheet của bạn sẽ tăng lên rất nhiều.
Nếu bạn thấy bài viết này có ích hãy để lại bình luận và đừng quên gia nhập Hội Anh Em Nghiện Lập trình nhé.


rất hay, rất cần những bài viết tương tự như này
Cám ơn bạn đã ủng hộ.
Hay quá anh ơi
Cám ơn em 😀
Thank you !
you’re welcome
ước gì ngày xưa hồi mới vào ngành cũng có người viết cho như này mà đọc, rất bổ ích bạn ơi
Haha, một tips nho nhỏ nhưng lại rất hữu ích