Taksuntech.ir
1.55K subscribers
680 photos
296 videos
223 files
1.06K links
بزرگ فکر کنید، بهینه احرا کنید.
http://taksuntech.ir
طراحی سیستمی
آنالوگ، دیجیتال، ZYNQ SoC، FPGA و پردازش

ارتباط با ادمین:
@Taksun_Tech
Download Telegram
#نکته #طراحی #تجربه
طراحی سیستم یعنی پیدا کردن راه حل مسئله که معمولا فارغ از سخت افزار و نرم افزار هست و شامل چگونگی و راه حل مسئله هست. یک مثال ساده شاید بتواند بیشتر کمک کند.
مثلا برای اینکه چطور می شود یه ربات تعقیب خط ساخت؟
اینکه اول بدانیم مکانیزم های مختلف مکانیکی یک ربات به چه شکلی است.
یا مثلاً سیستم حرکتی آن دو موتور باشد یا چهار موتور یا حتی تسمه ای.
کدام مکانیزم برای کاربرد ما بهتر عمل می کند و نقاط ضعف آنها چیست.
چه سنسورهایی لازم است. نحوه چیدمان سنسورها، رابطه سنسورها با فرمان به مکانیزم موتورها و ...

حال یک مثال عینی خوب می زنیم.
مثلاً کسی که به عنوان طراح سیستم کار طراحی ماشین هوشمند گوگل را انجام می دهد، اصلا به این معنی نیست که دنبال این باید باشد که مدار کنترل این ماشین حتماً میکروکنترلر ARM مثلاً شرکت ST یا PHILIPS باشد.
چون ممکن است اصلاً خودش برد کنترل را نسازد. اما این را می داند که یک برد کنترل دقیقاً با چه امکانات و ویژگی هایی مورد نیاز است، چه نوع سنسوری لازم است و ... همانطور که در مورد بدنه و موتور می داند چه نیازهایی را لازم دارد.
در آخر اگر پروژه محدود و کوچک باشد و قابلیت پیاده سازی توسط خودش فراهم باشد، خودش دست به کار می شود، ولی اگر پروژه بزرگ باشد تقسیم بندی کرده و همه قسمت ها را برون سپاری می کند تا مجموعه های دیگر انجام دهند و خودش مدیریت می کند.

بنابراین می توانیم مراحل طراحی را با ترتیب زیر پیش ببریم:
1- طراحی مفهومی
2- طراحی سیستمی
3- طراحی جزئی
انتخاب نوع میکروکنترلر و سنسورها و قطعات و ... در مرحله طراحی جزئی انجام می شود.

@taksuntec
@khoshfekran
#آموزشی #نکته #CRC
در هر پروژه ی صنعتی که مساله ی انتقال دیتا بین دستگاه های مختلف وجود دارد ، لازم است دیتا را در هر ارسال کدبندی کرده و همراه با پکت اصلی ارسال کنیم و در مقصد با کدگشایی از صحت آنها اطمینان حاصل کنیم. یدک کشیدن واژه ی "صنعتی" به معنای ضریب اطمینان صد در صد است که چیزی فراتر از مثالهای آموزشی برای راه اندازی بخشی از مدار است. چه بسا دریافت اطلاعاتی اشتباه از دستگاهی دیگر به نشانه ی بکار افتادن بخشی از سیستم ، یا قطع عملیاتی بسیار مهم باشد. بنابراین طراح باید جایی برای ریسک غیرمنطقی باقی نگذارد و موظف به پیشبینی احتمالات می شود.
یک راه حل مطمئن که در پروتکل های صنعتی مانند مدباس ، فیلد باس و ... نیز مجبور به استفاده از ان هستیم ، ارسال کد CRC همراه با PDU است که توابع آنرا در زیر مشاهده می کنید:

static unsigned char crc8_table[256]; /* 8-bit table */
static int made_table=0;

static void init_crc8()
{
int i,j;
unsigned char crc;

if (!made_table)
{
for (i=0; i<256; i++)
{
crc = i;
for (j=0; j<8; j++)
crc = (crc << 1) ^ ((crc & 0x80) ? DI : 0);
crc8_table[i] = crc & 0xFF;
/* printf("table[%d] = %d (0x%X)\n", i, crc, crc); */
}
made_table=1;
}
}

void crc8(unsigned char *crc, unsigned char m)
{
if (!made_table)
init_crc8();
*crc = crc8_table[(*crc) ^ m];
*crc &= 0xFF;
}

پ.ن:
PDU:Packet Data Unit
CRC: Cyclic Redundancy Check

@khoshfekran
#طراحی #نکته #pcb
با استفاده از قابلیت Teardrop که در بسیاری از نرم افزارها موجود است، می توان استحکام اتصال مسیرها به پد المان ها یا Via را بهبود بخشید. این موضوع به ویژه در بردهای با تراکم بالاکه عرض مسیرها و ابعاد سوراخ ها اندک است، اهمیت دارد. مزیت دیگر این کار آنست که احتمال کنده شدن یا آسیب دیدن مسیر ها در محل اتصال به Via یا پد المان به هنگام اعمال حرارت به برد را کاهش می دهد.
@khoshfekran
#pcb #طراحی #نکته #altium
از گزینه ی Tools در نرم افزار آلتیوم ، میتوانیم به بخش Teardrop دسترسی پیدا کنیم.
دقت کنید که از Teardrop در آخرین مرحله رسم PCB استفاده می شود.
@khoshfekran
#نکته #سنکرون #کلاک #skew
سنکرون به معنای اعمال کلاک همزمان به ادوات دیجیتال

در طراحی های سنکرون، اگر توزیع سیگنال کلاک بدرستی انجام نشود ، تاثیر ناشی از خازن مسیرها و بافرها باعث ایجاد تفاوت در وضعیت سیگنالِ نقاط مختلف (به اصطلاح جابه جایی کلاک یا Skew) می شود.
@khoshfekran
Forwarded from Embedded Academy
#نکته #مدیریت ؛
با کارکنان خود درست رفتار کنید تا از سرویس اینترنت شرکت شما برای جستجوی کار جدید استفاده نکنند.
مارک زاکربرگ
@embedded