معرفی
این ابزار برای آزمایشگاه، توسعه، پژوهش و ارزیابی مجاز معرفی شده است. مشخصات و تصویر از منبع رسمی پروژه یا سازنده آمدهاند.
نکته 1
Tigard چند interface رایج embedded را در یک adapter جمع میکند.
نکته 2
Level shifting و pinout روشن برای کار آزمایشگاهی مفید است.
نکته 3
قبل از اتصال باید voltage و ground target بررسی شود تا سختافزار آسیب نبیند.
استفاده مسئولانه
قابلیتهای RF، RFID، اسکن، credential audit، تحلیل ترافیک و تست امنیت فقط باید روی داراییهای خودتان، آزمایشگاه یا Scope دارای مجوز صریح استفاده شوند.
یک آداپتور، چند رابط و یک مدل روشن
Tigard بر پایه خانواده FT2232H ساخته شده و هدف آن فراهم کردن اتصال منظم به رابطهای رایج سختافزار است. این محصول یک رایانه مستقل یا ابزار دارای همه برنامههای تحلیل نیست؛ بخش مهمی از کار را نرمافزار میزبان انجام میدهد. بنابراین برای انتخاب آن، هم رابط هدف و هم ابزار نرمافزاری مناسب را مشخص کنید. دانستن اینکه برد «از SPI پشتیبانی میکند» کافی نیست؛ باید بدانید برای تراشه و عملیات مورد نظر از چه برنامه و چه پیکربندی استفاده خواهید کرد.
پروژه یک مسیر را برای UART و مسیر دیگری را برای چند رابط مشترک معرفی میکند. مشترک بودن بخشی از سختافزار به این معناست که وجود چند کانکتور الزاماً استفاده مستقل و همزمان از همه آنها را تضمین نمیکند. وضعیت کلیدها و حالت انتخابشده باید با اتصال واقعی هماهنگ باشد. پیش از هر آزمایش، نام رابط، نرمافزار میزبان و کانکتور مورد استفاده را در یک یادداشت کوتاه بنویسید. این کار از جابهجایی کابل در حالتی که هنوز خروجی قبلی فعال است جلوگیری میکند.
سازگاری نرمافزار مزیت مهم است
سازنده به استفاده با ابزارهای شناختهشدهای مانند OpenOCD، Flashrom و کتابخانههای خانواده FTDI اشاره میکند. این سازگاری میتواند نیاز به برنامه اختصاصی را کمتر کند، اما فایل تنظیم هدف همچنان مهم است. یک ابزار ممکن است آداپتور را بشناسد ولی تراشه هدف یا شیوه اتصال شما را نداند. پیام شناسایی موفق USB را با آماده بودن کل مسیر اشتباه نگیرید. زنجیره کامل شامل درایور، دسترسی، پیکربندی آداپتور، سیمکشی و مشخصات هدف است.
برای نصب، نسخه ابزار میزبان و سیستمعامل را ثبت کنید. اگر دو برنامه میخواهند همزمان یک رابط را بگیرند، ممکن است خطای اشغال بودن یا دسترسی ایجاد شود. پیش از تغییر درایور، بررسی کنید برنامه دیگری باز نمانده باشد. در محیطهای مختلف، روش دسترسی به رابط FTDI میتواند متفاوت باشد؛ از راهنمای همان ابزار و سیستمعامل استفاده کنید. نصب چند راهکار ناسازگار به امید اینکه یکی کار کند، محیط را برای عیبیابی بعدی دشوارتر میکند.
ولتاژ هدف را اندازه بگیرید، حدس نزنید
سطح منطقی پایههای هدف باید با تنظیم مبدل سطح هماهنگ باشد. وجود کلید انتخاب ولتاژ، کاربر را از بررسی واقعی بینیاز نمیکند. بعضی بردها با یک ولتاژ تغذیه میشوند ولی رابط اشکالزدایی آنها سطح پایینتری دارد. از نقشه و برگه مشخصات کمک بگیرید و در صورت نیاز اندازهگیری کنید. اتصال بر اساس رنگ سیم یا شکل هدر، بدون تأیید شماره پایه، میتواند اشتباه باشد. عکس قبل از اتصال و برچسب واضح کابلها، از خطای تکراری جلوگیری میکند.
تغذیه هدف و ولتاژ مرجع رابط را نیز با هم اشتباه نگیرید. یک پایه مرجع ممکن است برای تعیین سطح لازم باشد و نباید بدون بررسی نقش آن به منبع تغذیه تبدیل شود. اگر هدف از منبع مستقل روشن است، نحوه اتصال زمین و جلوگیری از تغذیه ناخواسته را طبق مستندات بررسی کنید. پیش از فعال کردن هر خروجی، حالت کلیدها و مسیر برق را دوباره ببینید. یک خطای چندثانیهای میتواند از ساعتها عیبیابی نرمافزار پرهزینهتر باشد.
شروع با UART برای مشاهده رفتار
برای یک برد توسعه متعلق به خودتان، مشاهده پیام راهاندازی از UART میتواند نخستین تمرین مناسب باشد. ابتدا خط خروجی هدف، ورودی آداپتور و زمین را مشخص کنید و نرخ و قالب ارتباط را از مستند برد بگیرید. اگر تنها مشاهده لازم است، همه سیمهای کنترل را بیدلیل وصل نکنید. داشتن اتصال کمینه، تشخیص مشکل را سادهتر میکند. سپس هنگام راهاندازی کنترلشده، خروجی را ثبت کنید و زمان هر مرحله را ببینید.
اگر متن ناخواناست، نرخ انتقال و قالب را بررسی کنید و سپس سراغ سطح سیگنال و کیفیت اتصال بروید. اگر خروجی کاملاً ساکت است، ممکن است پنجره پیامها را از دست داده باشید یا رابط مورد نظر در آن Firmware غیرفعال باشد. این دو حالت با خرابی آداپتور متفاوتاند. یک هدف شاهد سالم یا آزمون حلقه محلی متناسب با ابزار میتواند مسیر میزبان را جدا بررسی کند. پس از اثبات دریافت، ارسال فرمان آزمایشی مجاز را اضافه کنید.
SPI و خواندن غیرمخرب حافظه آموزشی
برای یادگیری SPI، یک حافظه آزمایشی با داده معلوم انتخاب کنید. قبل از هر عملیات نوشتن، شناسه مستند تراشه و بخشی از محتوای شناختهشده را بخوانید. حالت ساعت، ترتیب بیت، سرعت و خط انتخاب باید مطابق هدف باشند. اگر پاسخ همه صفر یا همه یک است، اتصال و انتخاب تراشه را بررسی کنید؛ این نتیجه به تنهایی خالی بودن حافظه را ثابت نمیکند. چند خواندن مستقل و مقایسه آنها به تشخیص اتصال ناپایدار کمک میکند.
کار روی تراشه نصبشده در یک برد، مسئله پیچیدهتری از تراشه جدا روی برد آموزشی است. کنترلگر اصلی ممکن است همزمان خطوط را براند یا از مسیر پایهها تغذیه ناخواسته رخ دهد. برای برد خودتان، روش ایمن جداسازی یا توقف کنترلگر را از طراحی استخراج کنید. گیره متصلشده به تراشه، به خودی خود تضمین ارتباط درست نیست. از خواندن موفق کوتاه نتیجه نگیرید که پاک کردن یا نوشتن طولانی نیز در همان شرایط قابل اتکاست.
I2C و نقش بالاکشها
در رابط I2C، خطوط با رفتار الکتریکی خاص و مقاومت بالاکش کار میکنند. آداپتور و هدف باید از نظر سطح و وجود این مقاومتها هماهنگ باشند. اگر برد هدف بالاکش دارد، افزودن مقاومت دیگر مقدار مؤثر را تغییر میدهد. همچنین سرعت و طول سیم بر کیفیت لبهها اثر دارند. برای نخستین آزمون، سیم کوتاه و سرعت محافظهکارانه متناسب با مستندات انتخاب کنید و سپس شرایط نهایی پروژه را جدا بسنجید.
آدرس هدف را از برگه مشخصات و وضعیت پایههای انتخاب آدرس استخراج کنید. تفاوت نمایش آدرس و بایت شامل جهت خواندن یا نوشتن میتواند باعث اشتباه شود. پاسخ تأیید به معنای اجرای صحیح همه توالیها نیست؛ بعضی دستگاهها برای خواندن رجیستر به ترتیب خاص نیاز دارند. یک رجیستر ثابت و شناختهشده را به عنوان شاهد انتخاب کنید. اگر این خواندن درست است ولی داده حسگر نامعقول است، مرحله پیکربندی و تبدیل واحدها را بررسی کنید، نه اینکه فوراً سیمکشی را عوض کنید.
JTAG و SWD به پیکربندی هدف وابستهاند
رابط اشکالزدایی برای مشاهده و کنترل اجرای نرمافزار روی برد مجاز مفید است، ولی شناخت آداپتور تنها بخشی از کار است. نوع پردازنده، زنجیره هدف، سیگنال بازنشانی و فایل پیکربندی باید درست باشند. شروع با برد توسعه مستند بهتر از هدف ناشناخته است. نخست شناسایی و اتصال را ثابت کنید و سپس عملیات خواندن وضعیت یا توقف کنترلشده برنامه را امتحان کنید. هر مرحله باید اثر قابل پیشبینی و راه بازگشت داشته باشد.
برخی عملیات اشکالزدایی میتوانند رفتار زمانبندی برنامه را عوض کنند. توقف پردازنده ممکن است ارتباط شبکه یا کنترل یک وسیله را مختل کند، حتی اگر دادهای پاک نشود. بنابراین برای آموزش از مداری استفاده کنید که توقف آن خطر یا اثر بیرونی ندارد. همچنین حفاظتهای تراشه و محدودیت دسترسی را رعایت کنید؛ وجود کانکتور به معنای مجوز دور زدن حفاظت دستگاه دیگران نیست. این راهنما روی توسعه و بررسی سختافزار متعلق به خود یا محیط دارای اجازه تمرکز دارد.
درگاه تحلیل منطقی برای مشاهده مستقل
وجود محل اتصال تحلیلگر منطقی کمک میکند سیگنال سمت هدف را ببینید و فرمان نرمافزار را با رفتار واقعی مقایسه کنید. تحلیلگر باید سطح مناسب و زمین مشترک داشته باشد. نرخ نمونهگیری و تنظیم رمزگشا نیز باید با پروتکل هماهنگ شوند. اگر رمزگشا داده نامفهوم نشان میدهد، ابتدا نوع پروتکل و لبه نمونهبرداری را بررسی کنید. خروجی رنگی یک نرمافزار تحلیل، بدون تنظیم درست، مدرک قطعی خطای گذرگاه نیست.
برای یک توالی کوتاه، تعداد پالسها، زمان فعال بودن انتخاب تراشه و پاسخ هدف را با برگه مشخصات مقایسه کنید. فایل ثبت را همراه با نسخه برنامه و نقشه اتصال نگه دارید. این شواهد برای گفتوگو میان توسعهدهنده نرمافزار و طراح سختافزار بسیار مفید است، زیرا هر دو طرف به یک رویداد واقعی نگاه میکنند. اگر لازم است ولتاژ یا شکل دقیق لبه دیده شود، ابزار مناسب آن اندازهگیری را انتخاب کنید؛ تحلیل منطقی همه ویژگیهای آنالوگ را نشان نمیدهد.
یک روش مرحلهای برای رفع خطا
وقتی ارتباط کار نمیکند، بررسی را از پایینترین لایه آغاز کنید: شناسایی USB، دسترسی نرمافزار، حالت آداپتور، ولتاژ و زمین، سپس پارامترهای پروتکل. در هر مرحله یک نشانه موفقیت داشته باشید. تغییر همزمان سرعت، درایور و سیمکشی ممکن است تصادفاً نتیجه بدهد، ولی علت را معلوم نمیکند. برای مسئلهای که گاهی رخ میدهد، طول کابل، حرکت کانکتور و زمان روشن شدن هدف را نیز ثبت کنید. خطای متناوب اغلب به شرایطی وابسته است که در یادداشت اولیه دیده نشده است.
پس از یافتن علت، یک آزمون کوچک ثابت بسازید تا قبل از هر کار حساس اجرا شود. مثلاً خواندن شناسه یک تراشه آموزشی یا دریافت پیام ثابت UART میتواند سلامت مسیر را نشان دهد. این آزمون جای بررسی هدف جدید را نمیگیرد، اما کمک میکند بدانید مشکل از ابزار میز است یا مدار تازه. نگهداری یک هدف شاهد سالم، برای آزمایشگاه سختافزار مانند داشتن یک درخواست شاهد در عیبیابی شبکه ارزش دارد.
مستندسازی برای تکرار و نگهداری میز
برای هر آزمایش، شماره برد، نسخه Firmware، ابزار میزبان، وضعیت کلیدها و نقشه سیمها را ثبت کنید. اگر از فایل تنظیم استفاده میکنید، آن را کنار خروجی نگه دارید و توضیح دهید کدام مقادیر مخصوص همان هدفاند. یک دستور بدون زمینه ممکن است روی برد دیگر معنای متفاوت یا اثر نامناسب داشته باشد. همچنین داده خواندهشده از حافظه را متناسب با حساسیت نگه دارید؛ تصویر حافظه میتواند شامل راز یا اطلاعات شخصی باشد و نباید بیبررسی منتشر شود.
در پایان، خروجیها را غیرفعال کنید و هدف را طبق ترتیب مناسب جدا سازید. کابلها و وضعیت پیشفرض میز را به حالت روشن و قابل فهم برگردانید تا نفر بعد با فرض غلط شروع نکند. نتیجه آموزشی خوب تنها «ارتباط برقرار شد» نیست؛ باید معلوم باشد چرا تنظیمات درستاند، کدام عملیات مجاز و آزموده شدهاند و چه محدودیتهایی باقی مانده است. این دانش قابل انتقال است که یک آداپتور چندمنظوره را به ابزار قابل اتکای توسعه تبدیل میکند.