Forwarded from هیچ
This package contains a guide that explains, in a step-by-step fashion, how to develop device driver blocks (blocks that perform target-specific functions when executed on a target platform).
Example drivers for:
-) Arduino digital output
-) Arduino digital input
-) Arduino analog output
-) Arduino encoder read
are included.
While the examples are built using the Arduino as the hardware platform (specifically relying on the Simulink Support Package for Arduino), the method applies to any other supported target.
In this guide, the first method to develop device drivers is based on the S-Function Builder block. Following chapters also describe different methods based respectively on the Legacy Code tool, the MATLAB function block, and the System Object block. Advantages and disadvantages of each method are discussed in the guide.
Finally, note that for MATLAB 2013b you will need to apply a fix for the S-Function builder to develop blocks with no input. To do so, go to the following page: http://www.mathworks.com/support/bugreports/1006532 , scroll down to the bottom, and follow the instructions therein.
Example drivers for:
-) Arduino digital output
-) Arduino digital input
-) Arduino analog output
-) Arduino encoder read
are included.
While the examples are built using the Arduino as the hardware platform (specifically relying on the Simulink Support Package for Arduino), the method applies to any other supported target.
In this guide, the first method to develop device drivers is based on the S-Function Builder block. Following chapters also describe different methods based respectively on the Legacy Code tool, the MATLAB function block, and the System Object block. Advantages and disadvantages of each method are discussed in the guide.
Finally, note that for MATLAB 2013b you will need to apply a fix for the S-Function builder to develop blocks with no input. To do so, go to the following page: http://www.mathworks.com/support/bugreports/1006532 , scroll down to the bottom, and follow the instructions therein.
Forwarded from هیچ
def = legacy_code('initialize');
def.SFunctionName = 'aout_sfun';
def.OutputFcnSpec = 'void NO_OP(uint8 p1, uint8 u1)';
def.StartFcnSpec = 'void NO_OP(uint8 p1)';
legacy_code('sfcn_cmex_generate', def);
legacy_code('compile', def, '-DNO_OP=//')
def.SourceFiles = {fullfile(pwd,'..','src','aout_arduino.cpp')};
def.HeaderFiles = {'aout_arduino.h'};
def.IncPaths = {fullfile(pwd,'..','src')};
def.OutputFcnSpec = 'void aout_output(uint8 p1, uint8 u1)';
def.StartFcnSpec = 'void aout_init(uint8 p1)';
legacy_code('sfcn_cmex_generate', def);
legacy_code('sfcn_tlc_generate', def);
legacy_code('rtwmakecfg_generate',def);
% legacy_code('slblock_generate',def);
def.SFunctionName = 'aout_sfun';
def.OutputFcnSpec = 'void NO_OP(uint8 p1, uint8 u1)';
def.StartFcnSpec = 'void NO_OP(uint8 p1)';
legacy_code('sfcn_cmex_generate', def);
legacy_code('compile', def, '-DNO_OP=//')
def.SourceFiles = {fullfile(pwd,'..','src','aout_arduino.cpp')};
def.HeaderFiles = {'aout_arduino.h'};
def.IncPaths = {fullfile(pwd,'..','src')};
def.OutputFcnSpec = 'void aout_output(uint8 p1, uint8 u1)';
def.StartFcnSpec = 'void aout_init(uint8 p1)';
legacy_code('sfcn_cmex_generate', def);
legacy_code('sfcn_tlc_generate', def);
legacy_code('rtwmakecfg_generate',def);
% legacy_code('slblock_generate',def);
Forwarded from IranTalent
چقدر باید حقوق بگیرید؟
اگر می خواهید میزان حقوقتان را نسبت به سایر شاغلین در شرایط شغلی مشابه بسنجید، در ارزیابی حقوق و دستمزد ایران تلنت شرکت کنید:
ارزیابی حقوق و دستمزد ١٣٩٦
دسترسی به نتایج پس از تحلیل به صورت رایگان برای شما فعال خواهد شد.
اگر می خواهید میزان حقوقتان را نسبت به سایر شاغلین در شرایط شغلی مشابه بسنجید، در ارزیابی حقوق و دستمزد ایران تلنت شرکت کنید:
ارزیابی حقوق و دستمزد ١٣٩٦
دسترسی به نتایج پس از تحلیل به صورت رایگان برای شما فعال خواهد شد.
Forwarded from Embedded Academy
Forwarded from ❣ ترفند│Tarfand ❣
#دوربین های سریال
تعداد پایه های ورودی خروجی یک چیپ و متعاقبا مدارات تاثیر بسیاری بر قیمت دارد. از این رو استفاده از دوربین های سریال باعث کم شدن هزینه خود چیپ و نهایتا محصول میشود.
@Taksuntec
تعداد پایه های ورودی خروجی یک چیپ و متعاقبا مدارات تاثیر بسیاری بر قیمت دارد. از این رو استفاده از دوربین های سریال باعث کم شدن هزینه خود چیپ و نهایتا محصول میشود.
@Taksuntec
#دوربین های سریال
استفاده از دوربین های سریال خصوصا در SoC ها باعث پایین آمدن قیمت تمام شده چیپ میشود. همچین باهث کوچکتر شدن pcb و کاهش کابل های ارتباطی میباشد. که نمونه بارز آن Raspberry PI است.
یکی از محبوب تریترین پورت ها برای انتقال تصویر #MIPI است. این پورت از استاندارد های CSI# برای اتصال به دوربین استفاده میکند.
استاندارد #CSI در سه ورژن CSI-1 و CSI-2 و CSI-3 ارائه شده است.
مهمولا دوربین های برد محبوب #Raspberry Pi بر اساس CSI-2 هستند.
@Taksuntec
استفاده از دوربین های سریال خصوصا در SoC ها باعث پایین آمدن قیمت تمام شده چیپ میشود. همچین باهث کوچکتر شدن pcb و کاهش کابل های ارتباطی میباشد. که نمونه بارز آن Raspberry PI است.
یکی از محبوب تریترین پورت ها برای انتقال تصویر #MIPI است. این پورت از استاندارد های CSI# برای اتصال به دوربین استفاده میکند.
استاندارد #CSI در سه ورژن CSI-1 و CSI-2 و CSI-3 ارائه شده است.
مهمولا دوربین های برد محبوب #Raspberry Pi بر اساس CSI-2 هستند.
@Taksuntec
#CSI
در استاندارد CSI معمولا دادهدها در حداکثر ۴ خط DATA و یک خط کلاک که تفاضلی هستند منتقل میشوند. همچنینی برای تنظیمات ارتباطی بین گیرنده و فرستنده از یک خط ارتباط کم سرعت I2C استفاده میشود.
سرعت داده ها در CSI ممکن است ار مرز چند گیبابیت بر ثانیه بگذرد.
@Taksuntec
در استاندارد CSI معمولا دادهدها در حداکثر ۴ خط DATA و یک خط کلاک که تفاضلی هستند منتقل میشوند. همچنینی برای تنظیمات ارتباطی بین گیرنده و فرستنده از یک خط ارتباط کم سرعت I2C استفاده میشود.
سرعت داده ها در CSI ممکن است ار مرز چند گیبابیت بر ثانیه بگذرد.
@Taksuntec
سرعت داده های سریال دوربین CSI ممکن است تا بیش از 5Gbps برسد
@Taksuntec
@Taksuntec
#CSI
در پروتکل CSI-2 همانند بسیاری از پرتکل های دیگر نیاز به Physical Layer مخصوص است. در این استاندارد از چند مدل PHY ایتفاده میشود که پرواربد ترین آنها D-PHY و C-PHY می باشند.
@Taksuntec
در پروتکل CSI-2 همانند بسیاری از پرتکل های دیگر نیاز به Physical Layer مخصوص است. در این استاندارد از چند مدل PHY ایتفاده میشود که پرواربد ترین آنها D-PHY و C-PHY می باشند.
@Taksuntec
#CSI
به دلیل فرکانس بالای سیگنال های دوربین های CSI ، به راحتی نمیتوان آنها را به FPGA متصل نمود. در صورتی که FPGA دارای واحد Ser/Des باشد، میتوان از حداکثر کیفیت csi استفاده نمود. ولی اکثر FPGA های ارزان قیمت این واحد را ندارند. اما میتوان در سرعت یا رزولوشن های کمتر با FPGA های ارزان قیمت مانند Spartan یا ZYNQ با CSI ارتباط برقرار نمود
@Taksuntec
به دلیل فرکانس بالای سیگنال های دوربین های CSI ، به راحتی نمیتوان آنها را به FPGA متصل نمود. در صورتی که FPGA دارای واحد Ser/Des باشد، میتوان از حداکثر کیفیت csi استفاده نمود. ولی اکثر FPGA های ارزان قیمت این واحد را ندارند. اما میتوان در سرعت یا رزولوشن های کمتر با FPGA های ارزان قیمت مانند Spartan یا ZYNQ با CSI ارتباط برقرار نمود
@Taksuntec
اتصال #دوربین رسبری به #ZYNQ
با توجه به مطالب قبلی، میتوان در سرعت های پایین یا دوربین های ساده مانند دوربین رسبری پای را به ZYNQ متصل نمود،
برای اینکار نیاز به PHY هم وجود دارد. از آنجایی که دوربین رسبری پای دارای C-PHY هست و ZYNQ قابلیت LVDS را دارد باید یا برای آن مبدل PHY استفاده کرد با با اتصال به نحوه ای خاص و با ترکیب چند پایه و مقاومت، مبدل ارزان قیمت D-PHY به C-PHY را ساخت.
@Taksuntec
با توجه به مطالب قبلی، میتوان در سرعت های پایین یا دوربین های ساده مانند دوربین رسبری پای را به ZYNQ متصل نمود،
برای اینکار نیاز به PHY هم وجود دارد. از آنجایی که دوربین رسبری پای دارای C-PHY هست و ZYNQ قابلیت LVDS را دارد باید یا برای آن مبدل PHY استفاده کرد با با اتصال به نحوه ای خاص و با ترکیب چند پایه و مقاومت، مبدل ارزان قیمت D-PHY به C-PHY را ساخت.
@Taksuntec
ترکیب جالب MATLAB ، ZYNQ و الکترونیک قدرت. کنترل موتور. با تشکر فراوان از مهندس افجه.
@Taksuntec
@Taksuntec